C++ 之 访问控制与访问控制的继承
private: 本类函数和友元函数可以访问。
protected: 本类函数、友元函数和子类函数可以访问。
public: 本类函数、友元函数、子类函数和本类的对象可以访问。
和公有继承、保护继承和私有继承没有关系,保护继承和私有继承影响的是子类的继承关系。
类继承中的访问控制
| 公有继承(public) | 保护继承(protected) | 私有继承(private) |
派生类对基类的访问控制 | 公有及保护成员可见 | 公有及保护成员可见 | 公有及保护成员可见 |
派生类对象对基类的访问控制 | 公有成员 | 所有成员不可见 | 所有成员不可见 |
派生类中基类成员的访问控制属性 | 基类公有与保护成员访问控制属性不变 | 基类公有与保护成员作为派生类的保护成员 | 基类公有与保护成员作为派生类的私有成员 |
备注 |
| 基类成员作为派生类的(保护\私有)成员不能被派生类的子类访问 |
类B从类A派生,**私有继承,只能说基类A的public和protected成员到了子类B后,都变为private,B再往下继承时,其子类C是不能访问A的public和protected成员的,但是对于B来说,A的protected和public是可以访问的。**
还没有评论,来说两句吧...