c 中友元函式理解與使用

2021-08-18 19:49:02 字數 1114 閱讀 5921

(1)友元函式:

1)c++中引入友元函式,是為在該類中提供乙個對外(除了他自己意外)訪問的視窗;

2)這個友元函式他不屬於該類的成員函式,他是定義在類外的普通函式,只是在類中宣告該函式可以直接訪問類中的private或者protected成員。

使用友元函式宣告的一般形式:

friend 《返回型別》

《函式名》 (《引數列表》);

使用友元函式注意的要點:

類中通過使用關鍵字friend 來修飾友元函式,但該函式並不是類的成員函式,其宣告可以放在類的私有部分,也可放在共有部分。友元函式的定義在類體外實現,不需要加類限定。

乙個類中的成員函式可以是另外乙個類的友元函式,而且乙個函式可以是多個類友元函式。

友元函式可以訪問類中的私有成員和其他資料,但是訪問不可直接使用資料成員,需要通過對物件進行引用。

友元函式在呼叫上同一般函式一樣,不必通過對物件進行引用。

例如如下形式:這裡解釋上面的1,3,4要點的使用,加以理解。

#include 

#include

using

namespace

std;

class persion;

persion::persion(char *pn) //建構函式

void persion::disp()

void main()

關於要點2的使用,我給出一段**案例:

#include 

#include

using

namespace

std;

class wheel;

class car;

car::car(char *pn)

class wheel;

wheel::wheel(int s)

int main(int argc, char

const *argv)

void car::run(wheel &w) //car類成員函式的實現

c 中友元函式理解與使用。

在學習c 這一塊,關於友元函式和友元類,感覺還是不好理解,但是井下心來,理解,需要把我一下幾點。首先講友元函式。1 友元函式 1 c 中引入友元函式,是為在該類中提供乙個對外 除了他自己意外 訪問的視窗 2 這個友元函式他不屬於該類的成員函式,他是定義在類外的普通函式,只是在類中宣告該函式可以直接訪...

C 中友元函式和成員函式的區別

什麼是友元函式 指某些雖然不是類的成員卻能夠訪問類的所有成員的函式 為什麼要使用 為了使其他類的成員函式來訪問該類的私有變數 什麼時候使用 可以用於運算子過載 兩個類共享資料 呼叫方式 不是類的成員函式,呼叫時不通過物件 存在位置 可以在類內宣告,類外定義,可放在類的私有段或公有段,放在私有段和公有...

C 建構函式理解

正確理解qt中建構函式 widget widget qwidget parent qwidget parent ui new ui widget include using namespace std class base base int val m num val 1 private int m...