C 知識梳理 友元函式

2021-10-09 07:34:36 字數 651 閱讀 9225

必須在類的說明中說明友元函式,說明時以關鍵字friend開頭,後跟友元函式的函式原型,友元函式的說明可以出現在類的任何地方,包括private和public部分。

#include

using namespace std;

class a

void fun()

private:

friend void fun1(const a& res);

private:

int a;

};void fun1(const a& res)

int main(int argc, char* ar**)

友元函式可以訪問物件的私有成員,但普通函式不行。

調用友元函式時,在實際引數中需要指出要訪問的物件。

類與類之間的友元關係不能被繼承。(友元不屬於類的成員函式)

友元一般定義在類的外部,但需要在類體內進行宣告,為了與該類的成員函式加以區分,在說明時前面加以關鍵字friend。友元函式不是成員函式,但它可以訪問類的私有成員。友元的作用在於提高程式的執行效率,但它破壞了類的封裝性和隱藏性,使得非成員函式可以訪問類的私有成員。

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

眾所周知,c 控制對類物件私有部分的訪問。通常,公有類方法提供唯一的訪問途徑,但是有時候這種限制太嚴格,以至於不適合特定的程式設計問題。在這種情況下,c 提供了另外一種形式的訪問許可權 友元,友元有3種 友元函式 友元類 友元成員函式。通過讓函式成為類的友元 即 友元函式 可以賦予該函式與類的成員函...

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

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

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

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