C 基礎 十三 友元

2021-10-09 21:13:03 字數 889 閱讀 2145

背景:在類中 私有成員變數無法被類外訪問 

1.全域性函式做友元

例項**如下:

#include using namespace std;

class person

public:

int m_age;

private:

int m_name;

};void showdetial(person *p)

int main()

2.友元類 

示例**如下

#include using namespace std;

#include class build;

class friend

;class build

;//這裡僅僅使用類外定義的使用

build::build(): m_name("godv"), m_age("抱金磚")

friend::friend()

void friend::visit()

int main()

3.友元函式

示例**如下;

#include using namespace std;

#include class builds;

class friends

;class builds

;void friends::visit()

builds::builds():m_name("godv"), m_age("666")

friends::friends():b(new builds())

int main()

C 基礎 友元

友元 乙個常規的成員函式宣告描述了三件在邏輯上相互不同的事情 1.該函式能訪問類宣告的私用部分 2.該函式位於類的作用域之中 3.該函式必須經由乙個物件去啟用 有乙個this指標 通過將乙個函式宣告為友元可以使它只具有第一種性質 在c 中友元 friend 函式允許在類外訪問該類中的任何成員,就象成...

C 基礎 友元

友元概念 友元函式 定義 friend 資料型別 友元函式名 引數列表 includeusing namespace std 定義友元函式 class rectangle friend double area rectangle rec 定義友元 友元實現 double area rectangle...

C 基礎(12)友元

類的主要目的之一是實現資訊的隱藏與封裝,即類的私有成員在類的外部不可見,不能直接進行訪問,只能通過對外的介面函式間接地進行訪問。但這樣往往會降低對私有資料成員的訪問效率。有時候,某些特殊的函式或類需要對這些私有成員進行直接訪問,這時,就需要打破類的封裝。這種能夠對類的私有成員直接進行訪問的外部類或外...