Is friendship inherited in C++?

后端 未结 3 1109
[愿得一人]
[愿得一人] 2021-02-07 12:54

Suppose I have a Base class:

class Base {
    friend SomeOtherClass;
};

And there is another (different) class that inherits from

相关标签:
3条回答
  • 2021-02-07 13:01

    No it isn't, as documented here: http://www.parashift.com/c++-faq-lite/friends.html#faq-14.4

    0 讨论(0)
  • 2021-02-07 13:19

    In principle, a derived class inherits every member of a base class except:

    * its constructor and its destructor
    * its operator=() members
    * its friends
    

    So, no. Friends are not inherited.

    0 讨论(0)
  • 2021-02-07 13:28

    No it isn't.

    Edit: To quote from the C++ Standard, section 11.4/8

    Friendship is neither inherited nor transitive.

    0 讨论(0)
提交回复
热议问题