友元关系与继承
来源:互联网 发布:mac打开excel很慢 编辑:程序博客网 时间:2024/04/30 04:59
像其他类一样,基类或派生类可以使其他类或函数成为友元(12.5节)。友元可以访问类的private和protected数据。
注解:友元关系不能继承。基类的友元对派生类的成员没有特殊访问权限。如果基类被授予友元关系,则只有基类具有特殊访问权限,该基类的派生类不能访问授予友元关系的类。
每个类控制对自己的成员的友元关系
class Base{friend class Frnd;protected:int i;};class D1:public Base{protected:int j;};//Frnd has no access to mebers in D1class Frnd{public:int mem(Base b){return b.i;} //ok:Frnd is friend to Baseint mem(D1 d){return d.j;} //error:friendship doesn't inherit};//D2 has no access to members in Baseclass D2:public Frnd{public:int mem(Base b){return b.i;} //eroor:friendship doesn't inherit};
如果派生类想要将自己成员的访问权授予其基类的友元,派生类必须显式地这样做:基类的友元对从该基类派生的类型没有特殊访问权限。同样,如果基类和派生类都需要访问另一个类,那个类必须特地将访问权限授予基类和每一个派生类。
- 友元关系与继承
- c++ 友元关系与继承
- 友元关系和继承
- 友元关系的继承
- 友元与继承
- [C++]友元关系的继承性
- 友元关系可以继承吗?不能
- 二十五、继承(二) 不能自动继承的成员函数、继承与构造函数、友元关系与继承、静态成员与继承
- C++ 友元与继承
- 友元关系与继承——《C++ primer》笔记,书中的小bug
- C++语法基础--恢复继承成员的访问级别,默认继承保护级别,友元关系与继承,继承与静态成员
- C++继承与友元、继承与类型转换
- C++友元(2) - 继承与友元
- 友元关系与继承以及基类派生类定义构造函数时应该注意的事项
- C++转换与继承;友元friend与继承;静态成员与继承(六)
- 继承与接口、多重继承及虚继承、多态与友元
- 继承(三)--友元与继承&&静态成员与继承
- 实体继承与关系
- 学习
- hibernate配置笔记
- 第008课 汇编-操作[]
- 拓扑排序与AOV
- intent-filter详解
- 友元关系与继承
- Eclipse找回Courser-New字体
- 关于线性表(一)
- hdu 2036 改革春风吹满地
- 解决vim编译器Ctrl + s出现卡屏问题
- 矩阵乘+高斯消元专题小结【矩阵乘法】
- 博客搬家
- hdu1166
- 让IE支持CSS3圆角的方法