当前位置: 代码迷 >> 综合 >> C++中全局函数做友元(friend)
  详细解决方案

C++中全局函数做友元(friend)

热度:11   发布时间:2023-11-22 22:07:45.0

public 是可以在类外访问的 而private是不允许在类外访问的 但是使用friend仍然可以使c++的全员函数访问private的内容 

#include<iostream>
using namespace std;
class Building
{friend void goodgay(Building *building);	//全局函数在类内前面加上fiend 这个函数就可以访问类内的private了 
public:	Building(){m_SittingRoom="客厅";m_BedRoom="卧室";}
public :string m_SittingRoom;	//客厅
private:	 string m_BedRoom;	//卧室 
};
void goodgay(Building *building)	//这里指针或者引用都是可以的 
{cout<<"好基友正在访问: "<<building->m_SittingRoom<<endl;	//访问public cout<<"好基友正在访问: "<<building->m_BedRoom<<endl;		//函数加firend后可以访问私有成员变量 
}
void test()
{Building building;goodgay(&building);
}
int main()
{test();
}