溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中如何使用友元函數

發布時間:2021-07-19 16:19:44 來源:億速云 閱讀:499 作者:Leah 欄目:編程語言

本篇文章為大家展示了C++中如何使用友元函數,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

定義:允許一個類將對其非公有成員的訪問權授予指定的類或函數(分別是友元類和C++友元函數)。

說明:友元是非成員函數,即它并不是授予友元關系的那個類的成員,它的聲明可以出現在類中的任何地方(因此它們也不受其聲明出現部分的訪問控制的影響)

編程風格:雖然友元的聲明可以出現在類中任何地方,但是將友元聲明成組的放在類定義的開始或者結尾是個好主意。

注:1、當將類A的成員函數F聲明為類B的友元時,必須在B的定義中將F用A限定。

2、C++友元函數只能訪問對象的私有成員,不能直接訪問類的私有成員(因此在調用友元時,必須在實參中指定友元要訪問的類的對象)。

兩個性質:

1、不具有傳遞性。

即:假設B是A的友元類,C是B的C++友元函數,那么C不能直接訪問A的私有成員。

2、不具有繼承性。

即:假設B是基類A的友元函數,C是A的繼承類,那么B不能直接訪問C的私有成員。

如果派生類想要將自己成員的訪問權授予其基類的友元,派生類必須顯式地這樣聲明友元。 //基類的友元對從該基類派生的類型沒有特殊訪問權限。

class A  {  friend class C;  }  class B : public A  {  friend class C; //friend 無法繼承  }  class C  {  }

同樣,如果基類和派生類都需要訪問另一個類,則那個類必須特地將訪問權限授予基類和每一個派生類.

class A  {  }  class B : public A  {  }  class C  {  friend class A;  friend class B;  }

上述內容就是C++中如何使用友元函數,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女