c 友元(筆記)

2021-10-22 02:58:53 字數 950 閱讀 5103

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

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

友元關鍵字:friend

友元的三種實現

class

building

public

: string m_sittingroom;

private

: string m_bedroom;};

//全域性函式

void

goodgay

(building *building)

void

test01()

class

building

;class

goodgay

;class

building

;//類外寫成員函式

building::

building()

goodgay::

goodgay()

void goodgay::

visit()

void

test01()

class

building

;class

goodgay

;class

building

;//類外實現成員函式

building::

building()

goodgay::

goodgay()

void goodgay::

visit()

void goodgay::

visit2()

void

test01()

intmain()

c 筆記 友元

類可以允許其他類或者函式訪問它的非公有成員,方法是令其他類或者函式成為它的友元。如果類想把乙個函式作為它的友元,只需要增加一條以friend關鍵字開始的函式宣告語句即可 class data data介面的非成員組成部分的宣告 data add std istream read 友元宣告只能出現在類...

C 筆記 繼承,友元

一 友元關係 友元關係不可繼承,base是基類,derive是派生類,f是base的友元,這麼說來,f不能訪問derive的private成員 是無誤的 但是還是不夠準確,假設base有乙個privata的virtual函式func derive繼承並重寫了此函式,那麼在基類的友元f中有如下 看似f...

C 筆記 友元函式

在某些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍然阻止一般的訪問。友元機制允許乙個類將對其非公有成員的訪問權授予指定的函式或類。1.友元的宣告以關鍵字friend開始。2.只能出現在類定義的內部。3.可以出現在類中的任何地方,不是授予友元關係的那個類成員,所以不受其宣告出現部分的訪問控...