C 友元類和友元函式

2021-10-25 02:24:37 字數 709 閱讀 6500

作用:我們知道類的私有屬性只能在類的內部訪問, 能不能通過一種途徑可以在類的外部訪問? 答案是有的,友元函式。

應用場景:主要的應用場景是在一些c++已經定義好的類裡面,你無法訪問類,不能在類裡面實現,只能在外部實現的時候,只能用友元函式。

a. 友元函式的作用: 可以在類的外部訪問類的私有屬性,但是會破壞類的封裝。

b. 友元函式的格式: friend 函式返回型別 函式名(引數列表)。

c. 友元函式宣告的位置和類訪問修飾符無關。

//物件的成員必須初始化

class

test

void

geta()

;};//友元函式的實現

void

func

(test& x)

intmain()

a. 若b類是a類的友元類,則b類的所有函式都是a類的友元函式。

b. b類通常作為設計一種對資料操作或類之間傳遞資訊的輔助類。

classa~

a()}

;classbb

()~b

()};

intmain()

建構函式和析構函式的執行順序:

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

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

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

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

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

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