1、有些時候,乙個完全無關的類由於某些特殊的原因需要訪問某個protected成員,甚至某個private成員,這就引入了友元的概念;
2、友元關係是類之間的一種特殊關係,這種關係不僅允許友元類訪問對方的public方法和屬性,還允許友元訪問對方的protected和private方法和屬性;
3、宣告乙個友元關係的語法很簡單,只要在類宣告裡的某個地方加上friend class **就行了,這條語句可以放在任何地方,放在public、protected、private段落裡都可以;
樣例:友元使用方法
#include #include // 友元用法示例
class lovers
;lovers::lovers(std::string thename)
void lovers::kiss(lovers *lover)
void lovers::ask(lovers *lover, std::string something)
class boyfriend : public lovers
;boyfriend::boyfriend(std::string thename) : lovers(thename)
class girlfriend : public lovers
;girlfriend::girlfriend(std::string thename) : lovers(thename)
class others
;others::others(std::string thename)
void others::kiss2(lovers *lover)
int main()
輸出:
girl lovers::kiss() boy
girl lovers::ask() boy wash clothes.
other is coming.
other others::kiss2() girl
C 友元學習筆記
友元可以分為三種 1.友元函式 2.友元類 3.友元成員函式 友元的好處,通過友元函式,可以賦予函式與類成員函式相同的訪問許可權,友元函式是可以訪問類私有成員的非類成員函式。因為友元函式不是類的成員函式,所以不能用類物件呼叫成員函式的方式 類成員符 調用友元函式。友元函式的建立 templatecl...
友元 c 學習筆記
size medium 1.含義 友元關係以 color blue friend color 關鍵字宣告,包括友元函式和友元類。2.作用 訪問與其有好友關係的類中的私有成員。3.友元函式可以是一般函式 非成員函式 也可以是另乙個類中的成員函式。4.友元 利弊 1 利 有助於資料共享,可以提公升程式的...
C 學習筆記 友元
引入友元的目的 讓乙個函式或類訪問另一類中私有成員 友元關鍵字 friend 友元有三種實現方式 1 全域性函式做友元 2 類做友元 3 成員函式做友元 class building public string m sittingroom 客廳 private string m bedroom 臥室...