友元的目的:让一个函数访问另一个类中的私有成员。
友元的三种函数:
1,全局函数作友元
class Building
{
//goodguy是Building类的好朋友,可以访问Building的私有成员
friend void goodguy(Building* building);
public:
Building()
{
m_sittingroom = "客厅";
m_bedroom="卧室";
}
public:
string m_sittingroom;
private:
string m_bedroom;
};
//全局函数goodguy
void goodguy(Building *building)
{
cout << "goodguy全局函数正在访问" << building->m_sittingroom << endl;
//可以访问私有成员
cout << "goodguy全局函数正在访问" << building->m_bedroom << endl;
}
void test01()
{
Building building;
goodguy(&building);
}
2,类作友元
3,成员函数作友元