c 中的友元

2021-10-08 11:19:51 字數 1310 閱讀 5316

友元是什麼

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

友元的目的,就是讓乙個函式或者類可以訪問另乙個類的私有成員屬性。

friend關鍵字

1.全域性函式做友元

#include

using

namespace std;

#include

struct person

public

: string m_name;

private

: string m_room;};

//全域性函式

// 作為友元函式,可以訪問person物件中的私有屬性

void

func

(person &p)

void

test()

intmain()

2.類做友元
#include

using

namespace std;

#include

class

goodfriend

;class

person

;class

goodfriend

public

: string m_name;

private

: string m_room;};

person::

person()

void person::

visit()

void

test()

intmain()

3.成員函式做友元
#include

using

namespace std;

#include

class

goodfriend

;class

person

;class

goodfriend

public

: string m_name;

private

: string m_room;};

person::

person()

void person::

visit()

void person::

visit2()

void

test()

intmain()

C 中的 友元函式 友元類

1.友元函式的簡單介紹 1.1為什麼要使用友元函式 在實現類之間資料共享時,減少系統開銷,提高效率。如果類a中的函式要訪問類b中的成員 例如 智慧型指標類的實現 那麼類a中該函式要是類b的友元函式。具體來說 為了 使其他類的成員函式直接訪問該類的私有變數。即 允許外面的類或函式去訪問類的私有變數和保...

C 中的友元函式和友元

在c 中類具有封裝的隱蔽性,由於語言特性,只有成員函式才能訪問私有成員,非成員函式只能訪問類中的公有成員,可是有時候我們需要非成員函式呼叫私有成員,這個時候要是將私有成員定義為公有的又會破壞c 的封裝,為了解決上述問題,我們提出了友元的概念 友元分為友元函式和友元類,友元函式就是非成員函式可是當我們...

C 中的友元

乙個類的私有成員除了它的成員函式之外是不能被其他類或函式所訪問的。為了能構使其他類或函式能訪問類的私有成員,我們可以使其他類或函式成為該類的友元。如果想把乙個類或函式作為該類的友元,則只需在在該類或函式的宣告前加個friend,注意帶有friend的宣告必須在類的內部 如前言所述,要想將乙個函式宣告...