在C++中有三种权限public、protected和private
1.类可以访问自己的public、private和protected成员;类的对象只能访问public成员,而不能访问private和protected成员;
2.类派生子类有三种方式public、private和protected,依次对应是公有继承、私有继承和保护继承
(1) 当子类为公有 继承时;子类可以访问基类的public和protected成员,不能访问private成员;子类对应的对象只能访问public成员。
(2) 当子类和私有继承时;子类可以访问基类的public和protected成员,不能访问private成员;子类对应的对象不能访问父类的任何成员。
(3) 当子类为保护继承时;子类可以访问基类的public和protected成员,不能访问private成员;子类对应的对象不能访问父类的任何成员。
3.私有继承和保护继承的区别
子类的私有继承和保护继承权限一样,但是子类的子类两种权限不一样,
(1)私有继承;子类的子类私有继承后不能访问父类的任何成员;其对应的对象也是如此。
(2)保护继承;子类的子类保护继承后仍可以访问基类的public和protected成员;其对应的对象不能访问基类的任何成员。