friend關鍵字只出現在宣告處
其他類、類成員函式、全域性函式都可宣告為友元
友元函式不是類的成員,不帶this指標
友元函式可訪問物件任意成員屬性,包括私有屬性
全域性函式做友元函式
全域性函式寫到 類中做宣告 並且前面加上關鍵字 friend
#define _crt_secure_no_warnings
#includeusing namespace std;
#includeclass building
public:
string m_sittingroom;
private:
string m_bedroom;
};//全域性函式 好**
void goodgay(building * building)
//友元函式 目的訪問類中的私有成員屬性
void test01()
int main(void)
整個類做友元函式
friend class 類名
[友元類注意]
友元關係不能被繼承。
友元關係是單向的,類a是類b的朋友,但類b不一定是類a的朋友。
友元關係不具有傳遞性。類b是類a的朋友,類c是類b的朋友,但類c不一定是類a的朋友。
#define _crt_secure_no_warnings
#includeusing namespace std;
#includeclass building
;class goodgay
;goodgay::goodgay()
void goodgay::visit()
building::building()
void test01()
int main()
成員函式作為友元函式
friend void goodgay::visit();
#define _crt_secure_no_warnings
#includeusing namespace std;
#include//只讓visit可以做building的好朋友 visit2不可以作為友元
class building;
class goodgay
;class building
;goodgay::goodgay()
void goodgay::visit()
void goodgay::visit2()
building::building()
void test01()
int main()
C 基礎知識(友元)
友元 普通函式中宣告的物件可以呼叫類中的私有成員函式,通過類的成員函式才可以訪問類的私有資料。關鍵字 friend includeusing namespace std class cstu 將fun1 宣告為類cstu的乙個友元函式,使得fun1 函式可以使用類中的私有成員或者受保護成員 frie...
C 基礎 友元
友元 乙個常規的成員函式宣告描述了三件在邏輯上相互不同的事情 1.該函式能訪問類宣告的私用部分 2.該函式位於類的作用域之中 3.該函式必須經由乙個物件去啟用 有乙個this指標 通過將乙個函式宣告為友元可以使它只具有第一種性質 在c 中友元 friend 函式允許在類外訪問該類中的任何成員,就象成...
C 基礎 友元
友元概念 友元函式 定義 friend 資料型別 友元函式名 引數列表 includeusing namespace std 定義友元函式 class rectangle friend double area rectangle rec 定義友元 友元實現 double area rectangle...