C++访问控制符有三个private、protected、public。
一、简单可以归为以下两种描述:
1)一个类友元(包含友元函数或者友元类的成员函数或者友元类的所有成员函数)可以访问该类的任何成员(包括成员变量及成员方法)。
2)除去友元外,private成员只有该类自身的成员函数可以访问,protected成员只有该类及其派生类的成员函数可以访问,public成员则该类及其派生类的成员函数和对象都可以访问。
二、派生类继承方式的影响
类的继承方式有三种:private、protected、public。
1)private属性不能被继承。
2)使用private继承,父类的protected和public属性在子类中变为private;
使用protected继承,父类的protected和public属性在子类中变为protected;
使用public继承,父类中的protected和public属性不发生改变;
如下所示:
public | protected | private | |
public继承 | public | protected | 不可用 |
protected继承 | protected | protected | 不可用 |
private继承 | private | private | 不可用 |
即:protected继承和private继承能降低访问权限。
参考文献:
C++ 类访问控制(public/protected/private)
C++ 类访问控制public/private/protected探讨
<完>