#include <iostream>
#include<string>
using namespace std;
class building;
class goodgay {
public:
goodgay() {
b = new building;
}
building* b;
void visit() {
cout << "好基友正在访问:" << b->m_bedRoom << endl;
};
};
class building {
friend void goodgay::visit();//建立类内成员函数的友元
public:
building() {
m_bedRoom = "卧室";
m_sittingRoom = "客厅";
}
string m_sittingRoom;
private:
string m_bedRoom;
};
int main()
{
}
为什么已经建了友元,visit()函数还是不能访问m_bedRoom
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
小果沐雨 2023-05-26 16:18关注建议参数传递
#include <iostream> #include<string> using namespace std; class building; class goodgay { public: goodgay(){} void visit(building* pb); }; class building { friend void goodgay::visit(building* pb);//建立类内成员函数的友元 public: building() { m_bedRoom = "卧室"; m_sittingRoom = "客厅"; } string m_sittingRoom; private: string m_bedRoom; }; void goodgay::visit(building* pb) { cout << "好基友正在访问:" << pb->m_bedRoom << endl; }; int main() { goodgay gay; building b; gay.visit(&b); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报