![13b1eb48517a79bd0f95fde87e58e386.png](https://i-blog.csdnimg.cn/blog_migrate/ee720665eb7d2d093d51e10f33450b9a.jpeg)
C++中的public、protect、private三个关键字既可以用于访问控制,也可以用于控制继承方式。
访问控制
在不加声明时,类的成员默认为private成员。
对于类的public、protect、private成员(包括成员变量与成员函数),其访问控制规则可以总结为下表:
![8a3f8acc071948701eb3cac73c089377.png](https://i-blog.csdnimg.cn/blog_migrate/76327d1936bf98848570120675f9f35a.png)
大致解释就是:
- 首先类本身对于自己的所有成员肯定是有访问权限的,无论是public、protect还是private
- 类的实例化对象只对类的public成员有访问权限
- protect相比private成员的特别之处在于,protect对于派生类是可访问(或可见)的,而private成员在派生类中不可见。
对于第三点,换句话说就是,只有父类的public、protect成员可以被子类继承,private成员子类压根是看不到的。至于父类的public、protect成员继承到子类后,是