继承关系中的访问控制
- 类中成员的访问权限
- 类继承中的访问权限
- 派生类向基类转换的权限问题(向上转型)
- 友元在继承中的访问权限
类中成员的访问权限
- public:类的对象(外部)可以访问,派生类也可以访问
- protected:类的对象(外部)不能访问,派生类可以访问
- private:类的对象(外部)不能访问,派生类也不可以访问
类继承中的访问权限
-
public继承:public->public, protected->protected
派生类可以继承基类中的公有成员和受保护成员,并将其作为自己的公有成员和受保护成员
-
protected继承:public&protected->protected
将基类中的公有成员和受保护成员作为派生类的受保护成员
-
private继承:public&protected->private
将基类中的公有成员和受保护成员作为派生类的私有成员,使得派生类无法直接访问这些成员
派生类向基类转换的权限问题(向上转型)
注意:派生类的成员函数和友元函数中,可以进行向上转型
友元在继承中的访问权限
- 友元不能被继承:友元函数和友元类类似于基类的私有成员
- 派生类的友元不可直接访问基类成员(包括公有成员)