/*
生活中你的家有客廳(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;
}
/**
* 好朋友可以訪問私有的客廳
好朋友可以訪問私有的臥室
請按任意鍵繼續. . .
*/