類的友元函式在類的外部定義,但有權訪問類的所有私有(private)成員和保護(protected)成員。儘管友元函式的原型有在類的定義**現過,但是友元函式並不是成員函式。假如a中宣告b是它的友元,則b可以訪問a的一切成員。
簡記:a說b是我兄弟,
家裡的東西隨便拿哈(有點引狼入室的感覺)
友元可以是乙個函式,該函式被稱為友元函式;友元也可以是乙個類,該類被稱為友元類,在這種情況下,整個類及其所有成員都是友元。
如果要宣告函式為乙個類的友元,需要在類定義中該函式原型前使用關鍵字friend
#include using namespace std;
class box
;class bigbox
};// 成員函式定義
void box::setwidth(double wid)
// 請注意:printwidth() 不是任何類的成員函式
void printwidth(box box)
// 程式的主函式
C 物件導向 友元函式和友元類
2.友元函式的另一種實現 3.友元類 4.為什麼會有友元函式 class person void print person a 對於上面的person類,內部有private protected public的三類訪問許可權的成員。寫乙個外部函式print 來列印這三類成員,則print 可以訪問p...
C 物件導向 友元函式
1.友元可以是函式 友元函式 也可以是乙個類 友元類 使用時在定義b時的public新增 全域性 friend void func 友元類b的 friend class a a的成員函式 friend void a func 其中函式類又分為全域性函式和成員函式 2.全域性函式做友元時,全域性函式的...
C 物件導向 友元
友元 友元函式 友元類 三種友元 普通函式 非成員函式 類 類的成員函式 include include using namespace std class screen 列表初始化建立建構函式 double area const private std string contents 內容 ind...