在程式裡,有些私有屬性也想讓類外特殊的一些函式或者類進行訪問,就需要用到友元技術。
友元的目的就是讓乙個函式或者類訪問另乙個類中私有成員
關鍵字:friend
友元的三種實現:
friend void
friendvisit
(home *home)
;//說明該全域性函式可以訪問home中的私有成員
public
:string sittingroom;
//客廳
private
:string bedroom;
//臥室
public
:home()
};void
friendvisit
(home *home)
class
home
;home:
:home()
class
building
;building:
:building()
//building的類外初始化建構函式
void building:
:visit()
void
test_1()
class
home
;//先對home類進行宣告
class
building
;class
home
;home:
:home()
building:
:building()
//building的類外初始化建構函式
void building:
:friendvisit()
void building:
:privatevisit()
void
test_1()
c 筆記 友元
類可以允許其他類或者函式訪問它的非公有成員,方法是令其他類或者函式成為它的友元。如果類想把乙個函式作為它的友元,只需要增加一條以friend關鍵字開始的函式宣告語句即可 class data data介面的非成員組成部分的宣告 data add std istream read 友元宣告只能出現在類...
c 友元(筆記)
在程式裡,有些私有屬性,想讓類外特殊的一些函式或類進行訪問,這就需要用到友元的技術 友元的目的就是讓乙個函式或者類訪問另乙個類中私有成員 友元關鍵字 friend 友元的三種實現 class building public string m sittingroom private string m ...
C 筆記 繼承,友元
一 友元關係 友元關係不可繼承,base是基類,derive是派生類,f是base的友元,這麼說來,f不能訪問derive的private成員 是無誤的 但是還是不夠準確,假設base有乙個privata的virtual函式func derive繼承並重寫了此函式,那麼在基類的友元f中有如下 看似f...