友元——普通函式中宣告的物件可以呼叫類中的私有成員函式,通過類的成員函式才可以訪問類的私有資料。
關鍵字:friend
#includeusing namespace std;
class cstu
//將fun1()宣告為類cstu的乙個友元函式,使得fun1()函式可以使用類中的私有成員或者受保護成員
friend void fun1();
};void fun1()
int main()
類內成員對於友元函式相當於public
#includeusing namespace std;
class cstu
//將fun1()宣告為類cstu的乙個友元函式,使得fun1()函式可以使用類中的私有成員
friend void fun1();
friend int main();
};void fun1()
int main()
友元類
#includeusing namespace std;
class cstu
//將fun1()宣告為類cstu的乙個友元函式,使得fun1()函式可以使用類中的私有成員
friend void fun1();
friend int main();
friend class cteach;
};class cteach
};void fun1()
int main()
使用protected成員有兩種方法:繼承和友元
使用private成員:友元
友元的特點:①不受訪問修飾符的影響,即友元函式或者友元類的訪問修飾符可以是public\protected任意一種;
②可以有多個友元。
缺點:破壞類的封裝性,不是迫不得已不使用。
介面函式
#includeusing namespace std;
class cstu
//介面函式
public:
int get()
void set()
//將fun1()宣告為類cstu的乙個友元函式,使得fun1()函式可以使用類中的私有成員
friend void fun1();
protected:
friend int main();
public:
friend class cteach;
};class cteach
};void fun1()
int main()
C 基礎知識(友元)
friend關鍵字只出現在宣告處 其他類 類成員函式 全域性函式都可宣告為友元 友元函式不是類的成員,不帶this指標 友元函式可訪問物件任意成員屬性,包括私有屬性 全域性函式做友元函式 全域性函式寫到 類中做宣告 並且前面加上關鍵字 friend define crt secure no warn...
C 基礎 友元
友元 乙個常規的成員函式宣告描述了三件在邏輯上相互不同的事情 1.該函式能訪問類宣告的私用部分 2.該函式位於類的作用域之中 3.該函式必須經由乙個物件去啟用 有乙個this指標 通過將乙個函式宣告為友元可以使它只具有第一種性質 在c 中友元 friend 函式允許在類外訪問該類中的任何成員,就象成...
C 基礎 友元
友元概念 友元函式 定義 friend 資料型別 友元函式名 引數列表 includeusing namespace std 定義友元函式 class rectangle friend double area rectangle rec 定義友元 友元實現 double area rectangle...