在某些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍然阻止一般的訪問。
友元機制允許乙個類將對其非公有成員的訪問權授予指定的函式或類。
1. 友元的宣告以關鍵字friend開始。
2. 只能出現在類定義的內部。
3. 可以出現在類中的任何地方,不是授予友元關係的那個類成員,所以不受其宣告出現部分的訪問控制影響。
友元關係是授予的,不對稱的,友元會破壞封裝。
#include using namespace std;
class x;
class y;/*
void y::b(x a)
*/class x;
void x::initialize()
void g(x *x, int i)
void y::f(x *x)
class z
;void z::initialize()
void z::g(x *x)
void h()
int main()
C 友元函式 友元類 友元成員函式
眾所周知,c 控制對類物件私有部分的訪問。通常,公有類方法提供唯一的訪問途徑,但是有時候這種限制太嚴格,以至於不適合特定的程式設計問題。在這種情況下,c 提供了另外一種形式的訪問許可權 友元,友元有3種 友元函式 友元類 友元成員函式。通過讓函式成為類的友元 即 友元函式 可以賦予該函式與類的成員函...
友元 友元函式 友元類和友元成員函式 C
有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...
友元 友元函式 友元類和友元成員函式 C
有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...