C++ 私有继承访问控制
在 C++ 中,私有继承(private inheritance)是指使用 private 关键字继承基类的派生方式。
私有继承的特点:
- 访问控制变化: 基类的公有成员和保护成员在派生类中变为私有成员。这意味着:
- 派生类内部可以访问这些成员。
- 派生类外部无法访问这些成员。
- 基类私有成员: 派生类无法直接访问基类的私有成员。
访问控制
| 成员类型 | 派生类内部访问 | 派生类外部访问 |
|---|---|---|
| 基类 public | ✔️ | ❌ |
| 基类 protected | ✔️ | ❌ |
| 基类 private | ❌ | ❌ |
代码示例:
class Base {
public:
int publicMember;
protected:
int protectedMember;
private:
int privateMember;
};
class Derived : private Base {
// ...
};
在上述代码中:
Derived类私有继承自Base类。Derived类内部可以访问publicMember和protectedMember,但不能访问privateMember。Derived类的外部无法访问publicMember,protectedMember和privateMember。
注意: 私有继承通常用于实现 "is-implemented-in-terms-of" 的关系,而不是 "is-a" 的关系,因为它限制了对基类成员的访问。
文件大小:8.81MB
评论区