首先回顾一下三种成员访问限定符:
public(公用的):既可以被本类中的成员函数所引用,也可以被类的作用域内的其他函数(即类外)引用。
private(私有的):只能被本类中的成员函数引用,类外不能调用(友元类除外)
protected(受保护的):不能被类外访问,但可以在派生类的成员函数访问。
接下来就用一张表总结一下基类成员在派生类中的访问属性:
可以这么简单的认为:
1、凡是基类中私有的,派生类都不可访问。
2、基类中除了私有的成员,在派生类中的访问属性总是 以安全性高{ 继承方式,基类的访问属性 } 的方式呈现。(安全性级别:私有>保护>公有)
友元
类可以允许其他类或者函数访问它的非公有成员,方法是令其他类或者函数成为它的友元。
A是B的友元,则A可以访问B的私有成员
一般来说,不推荐使用友元,因为友元会破坏C++的封装性和类的安全性。
参考链接:https://www.cnblogs.com/zhuguanhao/p/6286145.html
参考资料:《C++程序设计(第二版)》——谭浩强