C 筆記11 友元

2021-10-12 07:25:12 字數 1021 閱讀 1774

在程式裡,有些私有屬性也想讓類外特殊的一些函式或者類進行訪問,就需要用到友元技術。

友元的目的就是讓乙個函式或者類訪問另乙個類中私有成員

關鍵字: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...