友元 友元可以打破類的封裝性,不受許可權限制

2021-10-01 11:40:57 字數 621 閱讀 8081

類具有封裝性, 許可權,友元可以打破類的封裝性,不受許可權限制

友元函式:c++的普通函式, 不是類的成員函式,如果乙個函式被宣告為乙個類的友元函式, 那麼這個函式可以訪問這個類的所有成員

優點:不受許可權限制可以直接訪問類中的任意成員,在一定要程度上可以提高程式效率

缺點:打破類的封裝性

宣告友元函式格式:

friend 返回值資料型別 函式名(引數類別) --在類中任意位置宣告

class

student

~student()

void

setage

(int age)

int getage (

)const

void

setname

(string name)

string getname (

)const

protected

:int age;

private

: string name;};

//宣告函式為友元函式

void

student_info

(student &stu)

友元(友元函式 友元類 類成員函式的友元)

friend 友元機制 允許乙個類將對其非公有成員的訪問許可權授予指定的函式或者類。我們可以將友元大致分為3類 友元函式 是指某些雖然不是類的成員函式,但是能夠訪問這個類的所有成員的函式。比如我們下列的 include class test friend void show test rhs 宣告 ...

友元函式 友元類 友元成員

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

友元函式 友元類

friend class 1 友元函式 2 友元類 友元函式與友元類。c 中以關鍵字friend宣告友元關係。友元可以訪問與其有friend關係的 類中的私有成員。友元包括友元函式和友元類。1 友元函式 如果在本類以外的其它地方定義了乙個函式 這個函式可以是不屬於任何類的非成員函式,也可以是其它類的...