【发布时间】:2020-03-26 06:52:34
【问题描述】:
是的,我知道创建private 修饰符是为了禁止访问类数据
但friend 不是打算允许对其进行特殊访问吗?
编译器:
main.cpp:在成员函数'void C::blah(B&)'中:
main.cpp:48:26:错误:'int B::a' 在此上下文中是私有的
std::cout
下面的所有内容都是按照许多教程中的方式实现的。
可能这只是我犯的一个愚蠢的错误,并且没有发现。
class C;
class B {
private:
int a = 2;
public:
friend void blah(B& obj);
};
class C {
public:
void blah(B& obj) {
std::cout << obj.a << std::endl; //*
}
};
*成员 B::a 无法访问
【问题讨论】: