C++ private和protected派生(私有和保护派生)
除了公有派生(继承),C++ 还支持私有派生(继承)和保护派生(继承)。具体写法是在派生类定义的“继承方式说明符”位置写 private 或 protected。例如:
class B:private A{ }; //私有派生 class C:protected A{ }; //保护派生
不同派生方式会导致基类的成员在派生类中的可访问范围属性不同,如表 1 所示。
基类成员 | 派生方式 | ||
公有派生 | 私有派生 | 保护派生 | |
私有成员 | 不可访问 | 不可访问 | 不可访问 |
保护成员 | 保护 | 私有 | 保护 |
公有成员 | 公有 | .私有 | 保护 |
发表评论