C 類和物件 友元

2021-10-24 02:35:00 字數 1718 閱讀 9740

全域性函式做友元可以訪問另乙個類中的私有成員,寫法就是把全域性函式複製貼上放到類中,前面再加乙個關鍵字friend;

#include

#include

using

namespace std;

class

building

//房屋類

public

: string m_livingroom;

//客廳

private

: string m_bedroom;

//臥室 };

//全域性函式(訪問上類中的私有成員)

void

goodfriend

(building *building)

//測試函式

乙個類可以訪問另乙個類中的私有成員;

#include

#include

using

namespace std;

class

building

;//宣告

class

goodfriend

;class

building

//房屋類

;//類外寫成員函式

building::

building()

goodfriend::

goodfriend()

void goodfriend::

visit()

//測試函式

;//類外寫成員函式

building::

building()

goodfriend::

goodfriend()

void goodfriend::

visit()

void goodfriend::

visit2()

//測試函式

在building類中,成員函式visit2做友元,所以visit2可以訪問building類中的私有成員m_bedroom,而visit不能訪問;

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

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

c 類和物件特性 友元

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

C 類 友元函式和友元類

1.友元函式 2.友元類 我們知道類的私有屬性只能在類的內部訪問,能不能通過一種途徑可以在類的外部訪問?答案是有的,友元函式。a.友元函式的作用 可以在類的外部訪問類的私有屬性,但是會破壞類的封裝。b.友元函式的格式 friend 函式返回型別 函式名 引數列表 c.友元函式宣告的位置和類訪問修飾符...