C++访问说明符有三个private、protected、public。
- 定义在 public 说明符之后的成员在整个程序内可被放访问,public 定义类的接口。
- 定义在 private 说明符之后的成员可以被类的成员函数访问,但是不能被使用该类的代码访问,private成员隐藏了类的实现细节。
一、简单可以归为以下两种描述:
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 | 不可用 |