友元:一个函数或者类可以访问另一个类中的私有成员,即允许本类中的好朋友访问private权限内的内容,有如下三种应用:
1.全局函数作友元
将friend 全局函数的声明放入类中;表示该全局函数是该类的好朋友,可以访问类中的私有成员
friend void test(Solution &C);
2.类作友元
将friend class 类名;放入本类中,表示这个类是本类的好朋友,可以访问本类的私有成员
类外写成员函数:
Good::Good
{
building = new Building;
}
void Good::visit()
{
//如果Building类中m_SittingRoom成员是私有的,需要在building类中加上
friend class Good; 表示这个类是本类的好朋友,这个类中的成员就可以访问本类中的私有成员
cout<<building->m_SittingRoom<<endl;
}
3.成员函数作友元
friend void GoodGay::visit();告诉编译器GoodGay下的visit成员函数作为本类的好朋友可以访问本类的私有成员;