C 07 類和物件 友元

2021-10-07 16:40:35 字數 881 閱讀 6810

目錄

1 全域性函式做友元

2 類做友元

3 成員函式做友元

在程式中有些私有屬性,也想讓類外特殊的一些函式或者類進行訪問,這就需要用到友元技術,友元的目的就是讓乙個函式或者類訪問另外乙個類中的私有成員。

友元的關鍵字為friend

友元的三種實現方式:

全域性函式做友元

類做友元

成員函式做友元

class building

public:

string m_sittingroom;

private:

string m_bedroom;

};//全域性函式

void goodgay(building *building)

class building

;//類外寫成員函式

building::building()

class goodgay

;goodgay::goodgay()

void goodgay::visit()

void test01()

int main()

class building;

class goodgay

;class building

;building::building()

goodgay::goodgay()

void goodgay::visit()

void goodgay::visit1()

building的順序很重要,需要先宣告building,再定義goodgay

C 類和物件 友元

全域性函式做友元可以訪問另乙個類中的私有成員,寫法就是把全域性函式複製貼上放到類中,前面再加乙個關鍵字friend include include using namespace std class building 房屋類 public string m livingroom 客廳 private...

C 物件導向 友元函式和友元類

2.友元函式的另一種實現 3.友元類 4.為什麼會有友元函式 class person void print person a 對於上面的person類,內部有private protected public的三類訪問許可權的成員。寫乙個外部函式print 來列印這三類成員,則print 可以訪問p...

c 類和物件特性 友元

今天介紹下友元,首先介紹為什麼需要友元,友元解決什麼樣的問題。我們知道物件導向特性中封裝是將內部細節進行封裝,包括內部的私有變數,如果外部想訪問私有變數,就需要提供公有的函式進行操作。解決的問題 在外部函式或者是類中,想訪問某個類a的內部私有成員變數或者函式,但是類a又不想提供額外的public的方...