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
文件大小:
评论区