C 友元函式

2021-10-08 12:13:56 字數 1121 閱讀 4759

生活中你的家有客廳(public),有你的臥室(private)

客廳所有來的客人都可以進去,但是你的臥室是私有的,也就是說只有你能進去

但是呢,你也可以允許你的好閨蜜好**進去。

在程式裡,有些私有屬性也想讓類外特殊的一些函式或者類進行訪問, 就需要用到友元的技術

友元的目的就是讓乙個函式或者類訪問另-個類中私有成員

友元的關鍵字為friend i

友元的三種實現

●全域性函式做友元

●類做友元

●成員函式做友元

我們先用第一種實現友元函式全域性函式做友元:

#include#includeusing namespace std;

class building

public:

string m_sittingroom; //客廳

private:

string m_bedroom; //臥室

};void goodgay(building * building)

void test01()

int main()

類做友元:

#include#includeusing namespace std;

class building;

class goodgay;

class building;

building::building()

goodgay::goodgay()

void goodgay :: visit()

void test01()

int main()

成員函式做友元:

#include#includeusing namespace std;

class building

public:

string m_sittingroom; //客廳

private:

string m_bedroom; //臥室

};void goodgay(building * building)

void test01()

int main()

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

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

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

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

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

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