類(lèi)的主要特點(diǎn)之一是數(shù)據(jù)隱藏,即類(lèi)的私有成員無(wú)法在類(lèi)的外部(作用域之外)訪問(wèn)。
但是,有時(shí)候需要在類(lèi)的外部訪問(wèn)類(lèi)的私有成員,怎么辦?
解決方法是使用友元函數(shù),友元函數(shù)是一種特權(quán)函數(shù),c++允許這個(gè)特權(quán)函數(shù)訪問(wèn)私有成員
1、friend關(guān)鍵字只出現(xiàn)在聲明處
2、其他類(lèi)、類(lèi)成員函數(shù)、全局函數(shù)都可聲明為友元
3、友元函數(shù)不是類(lèi)的成員,不帶this指針
4、友元函數(shù)可訪問(wèn)對(duì)象任意成員屬性,包括私有屬性
友元的注意事項(xiàng)
1、友元關(guān)系不能被繼承。
2、友元關(guān)系是單向的,類(lèi)A是類(lèi)B的朋友,但類(lèi)B不一定是類(lèi)A的朋友。
3、友元關(guān)系不具有傳遞性。類(lèi)B是類(lèi)A的朋友,類(lèi)C是類(lèi)B的朋友,但類(lèi)C不一定是類(lèi)A的朋友。
更多關(guān)于物聯(lián)網(wǎng)培訓(xùn)的問(wèn)題,歡迎咨詢(xún)千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗(yàn),采用全程面授高品質(zhì)、高體驗(yàn)培養(yǎng)模式,擁有國(guó)內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實(shí)現(xiàn)高薪夢(mèng)想。