6-6 私有继承派生类使用基类的成员函数
时间: 2024-12-24 15:34:23 浏览: 1
深入分析C++派生类中的保护成员继承
5星 · 资源好评率100%
私有继承(Private Inheritance)是一种特殊的派生方式,在这种情况下,派生类只能访问基类的公有(Public)和保护(Protected)成员,而不能直接访问基类的私有(Private)成员。这意味着派生类可以使用基类的成员函数,前提是这些函数已经在基类的公开部分。例如:
```cpp
class Base {
public:
void publicFunc() { /* ... */ } // 可以被派生类直接使用
private:
void privateFunc() { /* ... */ } // 派生类不能直接访问
};
class Derived : private Base {
public:
// 虽然不能直接调用基类的私有函数,但如果基类有公共版本的同名函数,
// 派生类可以直接使用,如:void callPublicFunc() { publicFunc(); }
void derivedSpecific() {
publicFunc(); // 能够访问基类的公有成员函数
}
};
```
在这种模式下,私有继承常用于避免派生类无意中修改基类的私有状态,保持数据封装。如果基类需要提供给派生类一些额外的功能,通常会通过公有接口(如虚函数、指针或引用)来实现。
阅读全文