1. 前言
?C++提供了三个修饰符来限定类成员的被访问权限,分别是public protected private . 通过限定访问权限,可以达到程序编写者想要解决的安全问题和权限问题。这种权限的设置对于安全是非常必要的。
2. 不同修饰下的类成员被访问权限
- public:被public修饰的类成员可以在任何地方被访问到。
- protected:被protected修饰的类成员可以在类内部,子类内部和友元函数访问到。但不能通过类对象访问。
- private:被private修饰的类成员可以在类内部和友元函数访问到,但不能在子类和通过类对象访问。
可以看出: protected和private的区别是:private修饰的不能被继承到子类种访问。 protected和public的区别是:public修饰的可以直接通过类对象访问。
3. 继承时的属性变化
??他们之间经过继承后的结合关系如下:
| public | protectded | private |
---|
public | public | protected | private | protected | protected | protected | private | private | private | private | private |
4. protected的作用
加入基类中的某个函数,我们不想将其暴漏,所以不能设计为public,但又想在子类中能够访问到,这时就可以使用protected修饰,子类继承时可以访问到。
|