001全局函數做友元函數

/*
生活中你的家有客廳(Public),有你的臥室(Private)
客廳所有來的客人都可以進去,但是你的臥室是私有的,也就是說只有你能進去
但是呢,你也可以允許你的好閨蜜好基友進去。
在程序裏,有些私有屬性 也想讓類外特殊的一些函數或者類進行訪問,就需要用到友元的技術
友元的目的就是讓一個函數或者類 訪問另一個類中私有成員
*/
#include<iostream>
#include<string>
using namespace std;

class MyFamily
{
	
	friend  void goodFriend(MyFamily*myfamily);
	//友元函數可以聲明在public裏面,也可以寫在外面,表示這個函數不屬於這個類。
public:
	
	MyFamily(string sittingroom,string bedroom)
	{
		this->sittingroom = sittingroom;
		this->bedroom = bedroom;
	}
private:
	string sittingroom;
	string bedroom;
};

void goodFriend(MyFamily*myfamily)
{
	cout << "好朋友可以訪問私有的" << myfamily->sittingroom << endl;
	cout << "好朋友可以訪問私有的" << myfamily->bedroom << endl;
}

void playObject()
{
	MyFamily mf("客廳", "臥室");
	goodFriend(&mf);
}

int main(void)
{
	playObject();

	system("pause");
	return 0;
}

/**
 * 好朋友可以訪問私有的客廳
好朋友可以訪問私有的臥室
請按任意鍵繼續. . .

 */

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章