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

2021-10-02 19:41:48 字數 453 閱讀 9628

什麼是友元函式:

指某些雖然不是類的成員卻能夠訪問類的所有成員的函式

為什麼要使用:

為了使其他類的成員函式來訪問該類的私有變數

什麼時候使用:

可以用於運算子過載

兩個類共享資料

呼叫方式:

不是類的成員函式,呼叫時不通過物件

存在位置:

可以在類內宣告,類外定義,可放在類的私有段或公有段,放在私有段和公有段無區別。

什麼是成員函式:

描述類的行為,是程式演算法的實現部分,像建構函式、析構函式等都是類的成員函式,友元函式不是成員函式。

成員函式和友元函式區別:

相同點:

對類的訪問方式相同,可以直接訪問類的任何訪問控制屬性的成員

可以通過物件訪問形參、函式體中該類型別物件的所有成員

不同點:  

成員函式有this指標,友元函式沒有

C 中友元(友元函式和友元類)的用法和功能

採用類的機制後實現了資料的隱藏與封裝,類的資料成員一般定義為私有成員,成員函式一般定義為公有的,依此提供類與外界間的通訊介面。但是,有時需要定義一些函式,這些函式不是類的一部分,但又需要頻繁地訪問類的資料成員,這時可以將這些函式定義為該函式的友元函式。除了友元函式外,還有友元類,兩者統稱為友元。友元...

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

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

c 中友元函式理解與使用

1 友元函式 1 c 中引入友元函式,是為在該類中提供乙個對外 除了他自己意外 訪問的視窗 2 這個友元函式他不屬於該類的成員函式,他是定義在類外的普通函式,只是在類中宣告該函式可以直接訪問類中的private或者protected成員。使用友元函式宣告的一般形式 friend 返回型別 函式名 引...