您好,登錄后才能下訂單哦!
本篇文章為大家展示了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++中如何使用友元函數,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。