小编JM2*_*333的帖子

为什么友元函数仅在使用公共继承时才对派生类“可用”?

当派生类通过公共访问从基类继承时,问题与友元函数是否被继承?为什么基类 FRIEND 函数可以在派生类对象上工作?。但是,如果它通过受保护或私有访问继承,则会出现可见性错误。

当它通过公共访问继承时,A 的私有成员的可访问性与通过私有访问继承时相同。他们之间有什么区别?

class A {
private:
    int a;
    friend void f();
};

class B : private A {
};

void f() {
    B obj;
    int x = obj.a;
}

int main() {
    f();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ inheritance class friend friend-function

5
推荐指数
1
解决办法
739
查看次数

标签 统计

c++ ×1

class ×1

friend ×1

friend-function ×1

inheritance ×1