c++ 类的访问权限探讨
1. 在类域外部(非类域中),类对象访问自身接口和成员的限制,示例如下。
2. 在自身的类域中,类对象访问自身接口和成员的限制,示例如下:
3. 在其他类域(非继承关系)中,类对象访问自身的接口和成员的限制,示例如下
4. 在子类的域中,父类对象的成员和接口的访问限制,示例如下
(1)访问自身基类对象的成员
(2)访问其他基类对象的成员,示例如下
5. 父类的域中,子类对象的成员和接口访问限制
(1)在父类域中访问子类对象的成员和接口的限制。
(2)父类域中,仅仅访问子类对象的public接口,能否成功呢?如下
总结一下:
(1)类域中,可以访问自身对象和此类的外部对象的所有成员和接口。
(2)继承关系的类域中,子类只能访问自身对象的基类的 public 和 protected 成员和接口
(3)继承关系的类域中,子类仅能访问其他的基类对象的 public 成员和接口
(4)继承关系的类域和,父类不能访问任何子类的成员和接口
(5)非继承关系的类域 以及 非类域中,仅能访问类对象的public成员和接口。
后续有新的发现再更新