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