在程序里,有些私有属性,也想让类外的特殊的函数或者类进行访问,需要用 “友元”
友元的目的就是让一个函数或着类访问另一个类中的私有成员
友元的关键字:friend
友元的三种实现:
- 全局函数做友元
- 类做友元
- 成员函数做友元
//全局函数做 友元
class building
{
friend void goodGay(building *build);//goodGay全局函数是building的好朋友,可以访问私有成员
public:
string m_sittingRoom;
private:
string m_bedroom;
public:
building()
{
m_sittingRoom = "客厅";
m_bedroom = "卧室";
}
};
void goodGay(building *build)
{
cout << "全局 函数访问:" << build->m_sittingRoom << endl;
cout << "全局 函数访问:" << build->m_bedroom << endl;
}
void test01()
{
building build01;
goodGay(&build01);
}
int main()
{
test01();
system("pause");
return 0;
}
//类做为友元
class building
{
friend class GoodGay;//类做为友元
public:
string m_sittingRoom;
private:
str