友谊是否继承在C++中?

tun*_*nuz 14 c++ inheritance access-control friend

假设我有一个Base班级:

class Base {
    friend SomeOtherClass;
};
Run Code Online (Sandbox Code Playgroud)

还有另一个(不同的)类继承自Base:

class AnotherClass : public Base {}
Run Code Online (Sandbox Code Playgroud)

友谊是否也继承了?

sim*_*rsh 19

原则上,派生类继承基类的每个成员,除了:

* its constructor and its destructor
* its operator=() members
* its friends
Run Code Online (Sandbox Code Playgroud)

所以不行.朋友不是继承的.

  • 有趣的是,你选择了确切的措辞来说明这个网站:http://www.cplusplus.com/doc/tutorial/inheritance/ (5认同)

小智 9

不,不是.

编辑:引用C++标准,第11.4/8节

友谊既不是遗传也不是传递.