友元函式的面試問題

2021-10-01 17:58:21 字數 499 閱讀 9056

1、友元函式的建立: 加上friend關鍵字,注意引數的數量。注意,該原型的宣告以為著兩點:

(1)雖然friend operator * (...)函式中宣告的,但它不是成員函式,因此不能用使用成員操作符來呼叫;

(2)雖然友元函式不是成員函式,但它的訪問許可權跟成員函式的相同。

(3)友元函式的宣告放在公有段和私有段都一樣。

2、友元函式的實現:

實際上,可以通過下面的修改將友元函式寫成非成員函式(即不用再類定義裡宣告):

3、友元函式與成員函式的區別:

(1)成員函式有this指標,而友元函式沒有this指標;

(2)友元函式是不能被繼承的,就像父親的朋友未必是兒子的朋友。

友元(友元函式 友元類 類成員函式的友元)

friend 友元機制 允許乙個類將對其非公有成員的訪問許可權授予指定的函式或者類。我們可以將友元大致分為3類 友元函式 是指某些雖然不是類的成員函式,但是能夠訪問這個類的所有成員的函式。比如我們下列的 include class test friend void show test rhs 宣告 ...

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

注意友元成員函式定義的3個步驟 include include include using namespace std class a class c class a class b void c display const a a 3.最後定義display,此時才可以使用a的私有成員 void ...

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

一般來說,類內的私有資料是對外不可見的,但在有些情況下,我們需要在類外對該類的私有資料進行訪問,這就需要用到一種新技術 友元 friend 即在宣告前新增關鍵字friend。友元關係是單向的,即如果a是b的友元,但b不一定是a的友元 友元關係無傳遞性,即如果a是b的友元,b是c的友元,但a不一定是c...