【发布时间】:2019-09-17 17:04:02
【问题描述】:
我试图实现朋友类为另一个类的成员提供成员的价值。
我尝试创建class Friend 的对象并将其定义为Attempt 的参数,并将&Friend::fri 替换为object.fri(),但它也没有编译。
class Friend {
public:
int val = 0;
int fri() {
val = 456;
return val;
}
friend class Partner;
};
class Partner {
public:
//(corrected) Friend Object;
int Attempt() {
std::cout << "The value from the friend class: " <<
&Friend::fri /*(corrected) Object.fri()*/<<"\n"; // '&' was requred by compiler to make pointer to
//the member
return 0;
}
};
我希望 Attempt 写入来自 fri() 的值。但是有 1,我不明白这个 1 是从哪里来的。
【问题讨论】: