c++ 友元关系与继承
2013-02-25 20:48
363 查看
友元关系不能继承。基类的友元对派生类的成员没有特殊访问权限。
如果基类被授予友元关系,则只有基类具有特殊访问权限,该基类的派生类不能访问授予友元关系的类。
如果基类被授予友元关系,则只有基类具有特殊访问权限,该基类的派生类不能访问授予友元关系的类。
class Base { friend class frnd; protected: int i; } // Frnd has no access to members in D1 class D1 : public Base { protected: int j; }; class Frnd { public: int mem(Base b) { return b.i; } // ok: Frnd is friend to Base int mem(D1 d) { return d.i; } // error: friendship doesn’t inherit }; // D2 has no access to members in Base class D2 : public Frnd { public: int mem(Base b) { return b.i; } // error: friendship doesn’t inherit };
相关文章推荐
- c++ 友元关系与继承
- C++语法基础--恢复继承成员的访问级别,默认继承保护级别,友元关系与继承,继承与静态成员
- c++与Java中继承关系对成员访问权限的影响之比较
- C++之确定你的public继承塑模出is-a关系(32)---《Effective C++》
- 友元关系与继承
- 初步学习C++中的继承关系
- 详谈C++虚函数表那回事(一般继承关系)
- C++中继承关系中的同名隐藏和对策
- 友元关系与继承——《C++ primer》笔记,书中的小bug
- C++中继承关系中的同名隐藏和对策
- 【c++】友元关系和子类函数构造函数的写法
- C++ 友元、组合、继承的简单使用
- [Boolan] C++第三周 类的关系。 复合,委托,继承
- C++学习笔记46——友元与继承
- C++ 友元和继承
- C++之继承关系
- 浅谈C++中的友元关系
- C++-继承:基类与派生类对象的关系&&继承与组合
- C++ 友元关系详解
- c++中的类之间继承的关系