使用VS进行C++测试友元时,使用成员函数做友元,一直显示访问不到,显示私有属性不可以访问,这句直接显示错误cout << b->name << "想要" << b->sexlife << endl;
,资深学者来指点一下,代码
#include<iostream>
using namespace std;
#include<string>
class goodF;
//创建类
class Building {
//friend class goodF;
friend void goodF::visit();//使用成员函数做为友元
public:
Building();
string name;
private:
string life;
};
//
class goodF {
public:
goodF();
void visit();
Building *b;
};
//
Building::Building() {
name = "哇哈哈";
life = "爱喝";
}
//
goodF::goodF() {
//Building *b;
b = new Building;
}
//
void goodF::visit() {
cout << b->name << "想要" << b->sexlife << endl;
}
void test() {
goodF gg;
gg.visit();
}
int main() {
test();
return 0;
}