全域性函式做友元可以訪問另乙個類中的私有成員,寫法就是把全域性函式複製貼上放到類中,前面再加乙個關鍵字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.友元函式宣告的位置和類訪問修飾符...