類具有封裝性, 許可權,友元可以打破類的封裝性,不受許可權限制
友元函式: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 友元函式 如果在本類以外的其它地方定義了乙個函式 這個函式可以是不屬於任何類的非成員函式,也可以是其它類的...