友元函数需要通过对象或指针调用
友元函数是不能被继承的
友元函数没有this指针
友元函数破环了继承性机制
class A { public: int getA(B& b); int a; }; class B { friend int A::getA(B& b); public: int b; }; class C : public B { public: }; int A::getA(B& b) { cout << this->a << endl; return b.b; }
B. 友元函数是不能被继承的:友元函数的访问权限只限于声明为友元的类本身,不能被子类继承。
C. 友元函数没有 this 指针:友元函数在逻辑上不属于任何特定的类,因此没有 this 指针。它们无法直接访问类的成员变量或成员函数。
对于选项 A,友元函数可以通过对象或指针调用,但不是必须要通过对象或指针调用。
对于选项 D,友元函数并不破坏继承性机制。友元关系只适用于声明为友元的类本身,不会传递给派生类。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题