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

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();
} 

猜你喜欢

转载自blog.csdn.net/qq_52245648/article/details/119934000
今日推荐