友元

^友元的概念和定義

遵循一定規(guī)則而使對(duì)象以外的軟件系統(tǒng)能夠不經(jīng)過消息傳遞方式直接使用訪問對(duì)象內(nèi)封裝數(shù)據(jù)成員的技術(shù)方法便是友元,友元是面向?qū)ο笙到y(tǒng)與面向過程系

統(tǒng)銜接的紐帶。

只要對(duì)外界的某個(gè)對(duì)象說明為一個(gè)類的友元,那么這個(gè)外界對(duì)象就可以訪問這個(gè)類對(duì)象中的私有成員。

^友元函數(shù)

友元函數(shù)是一種說明在類定義體內(nèi)的非成員函數(shù),說明友元函數(shù)的方法如下:

friend<返回值類型><函數(shù)名>(<參數(shù)表>);

說明:

(1)友元函數(shù)是在類中說明的函數(shù),它不是該類的成員函數(shù),但允許訪問該類所有成員,它是獨(dú)立于任何類的一般外界函數(shù)。友元不在類的范圍內(nèi),它們不

用成員選擇符(.或->)調(diào)用.

(2)由于友元函數(shù)不是類的成員,所以沒有this指針,訪問該類的對(duì)象成員時(shí),必須使用對(duì)象名,而不能使用類的成員名。

(3)雖然友元函數(shù)是在類中說明的,但其名字的作用域在類外,作用域開始點(diǎn)在說明點(diǎn),結(jié)束點(diǎn)和類名相同。

(4)如果在說明友元時(shí)給出了該函數(shù)的函數(shù)體代碼,則它是內(nèi)聯(lián)的。

(5)在類外定義友元函數(shù)時(shí)去掉friend關(guān)鍵字。

^友元成員

另一個(gè)類的成員函數(shù)可以作為某個(gè)類的友元,只是在聲明友元函數(shù)時(shí)加上成員函數(shù)所在的類名,稱為友元成員。聲明如下:

friend 函數(shù)返回值類型 類名::成員函數(shù)名(形參列表);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容