c 遠征之模板篇 友元函式 友元類

2021-08-02 16:47:04 字數 1096 閱讀 5561

全域性函式——》友元全域性函式

成員函式——》友元成員函式

1、友元關係不可傳遞;

2、友元關係的單向性;

3、友元宣告的形式及數量不受限制。(友元宣告在類的**都可以)

4、友元只是封裝的補充,是迫不得已的使用方法,可以通過設計的巧妙性,避免使用友元。它破壞了資料的封裝。

#include using namespace std;

class watch;

/** * 定義time類

* 資料成員:m_ihour, m_iminute,m_isecond

* 成員函式:建構函式

* 友元類:watch

*/class time

public:

int m_ihour;

int m_iminute;

int m_isecond;

};/**

* 定義watch類

* 資料成員:m_ttime

* 成員函式:建構函式

* display用於顯示時間

*/class watch

void display()

public:

time m_ttime;

};int main()

友元 友元函式 友元類和友元成員函式 C

有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...

友元 友元函式 友元類和友元成員函式 C

有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...

C 友元 友元函式 友元類和友元成員函式

有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...