C++三种继承方式时的成员访问权限
public:
公有继承时,对基类的公有成员和保护成员的访问属性不变(基类的public成员被继承后仍然是public属性,基类的protected成员被继承后仍然是protected属性)。
派生类的新增成员可以访问基类的公有成员和保护成员,但是访问不了基类的私有成员。
派生类的对象只能访问派生类的公有成员和基类的公有成员,不能访问派生类的保护成员和私有成员以及基类的保护成员和私有成员。
protected:
保护继承中,基类的公有成员和保护成员被派生类继承后变成保护成员。
派生类的新增成员可以访问基类的公有成员和保护成员,但是访问不了基类的私有成员。
派生类的对象只能访问派生类的公有成员,不能访问派生类的保护成员和私有成员以及基类的所有成员。
private:
私有继承时,基类的公有成员和保护成员都被派生类继承下来之后变成私有成员。
派生类的新增成员可以访问基类的公有成员和保护成员,但是访问不了基类的私有成员。
派生类的对象只能访问派生类的公有成员,不能访问派生类的保护成员和私有成员以及基类的所有成员。
参考:https://www.cnblogs.com/NiBosS/p/12152272.html