C 總結 友元類和友元函式

2021-05-23 19:19:26 字數 793 閱讀 1727

《windows環境多執行緒程式設計原理與應用》中解釋: 如果將類的封裝比喻成一堵牆的話,那麼友元機制就像牆上了開了乙個門,那些得 到允許的類或函式允許通過這個門訪問一般的類或者函式無法訪問的私有屬性和方法。友元機制使類的封裝性得到消弱,所以使用時一定要慎重。友元類的說明將外 界的某個類在本類別的定義中說明為友元,那麼外界的類就成為本類的「朋 友」,那個類就可以訪問本類的私有資料了。

class merchant

;class lawyer

;只有你賦予某個類為你的友元時,那個類才有訪問你的私有資料的權利。

說明乙個函式為乙個類的友元函式則該函式可以訪問此類的私有資料和方法。定義方法是在類的定義中,在函式名前加上關鍵字friend.

《挑戰30天c/c++》這樣解釋:

乙個普通函式可以是多個類的友元函式,對上面的**我們進行修改,注意觀察變化:

friend class internet;             //友類的宣告

protected:

char cname[30];

};class internet

void editcname(country &temp);

protected:

char name[20];

char address[20];

};void internet::editcname(country &temp)

void main()

C 總結 友元類和友元函式

windows環境多執行緒程式設計原理與應用 中解釋 如果將類的封裝比喻成一堵牆的話,那麼友元機制就像牆上了開了乙個門,那些得 到允許的類或函式允許通過這個門訪問一般的類或者函式無法訪問的私有屬性和方 法。友元機制使類的封裝性得到消弱,所以使用時一定要慎重。友元類的說明 將外界的某個類在本類別的定義...

友元 友元函式 友元類和友元成員函式 C

有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...

友元 友元函式 友元類和友元成員函式 C

有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...