Class and object-friend-3, member function as friend

Class and object-friends

3. Member functions are friends

#include<iostream>
#include<string>
using namespace std;
class building;
class greatgay
{
    
    
public:
	greatgay();
	void visit();//让visit函数可以访问Building中私有成员
	void visit2();//让visit2函数不可以访问Building中私有成员
	building* buil;
};
class building
{
    
    
	friend void greatgay::visit();//great类下的visit函数为友元
public:
	building();
public:
	string m_sittingroom;
private:
	string m_bedroom;
};
//类外写成员函数
building::building()
{
    
    
	m_sittingroom = "客厅";
	m_bedroom = "卧室";
}
greatgay::greatgay()
{
    
    
	//创建对象
	buil = new building;
}
void greatgay::visit()
{
    
    
	cout << "正在访问:" <<buil->m_sittingroom << endl;
	cout << "正在访问:" << buil->m_bedroom << endl;
}
void greatgay::visit2()
{
    
    
	cout << "正在访问:" << buil->m_sittingroom << endl;
	//cout << "正在访问:" << buil->m_bedroom << endl;
}

void test01()
{
    
    
	greatgay gg;
	gg.visit();
	gg.visit2();
}
int main()
{
    
    
	test01();
	system("pause");
	return 0;
}

Guess you like

Origin blog.csdn.net/qq_54673833/article/details/114106204