07友元
友元介紹
友元 : 允許非類成員函式訪問類的非公有成員
- 友元函式 - 宣告:
friend 型別 友元函式名(引數)
- 友元類 - 宣告:
friend class 友元類名
友元函式
在類體進行宣告,可以在類外進行定義,作用域在類體外
- 提高程式執行效率
class Test
{
friend void friFun(const Test& t1, const Test& t2); //可以放在private,protected,public成員中
public:
Test();
private:
int x_;
int y_;
};
void friFun(const Test& t1, const Test& t2)
{
cout << t1.x_ << endl;
}
友元函式注意事項
- 友元函式不是類的成員函式,可以訪問類的任意成員
- 可以把友元函式放在private,public,protected中,結果一樣
- 作用域並非該類,如果是另外一個類的成員函式,作用域為另外一個類,否則與一般函式的作用域相同
- 儘可能少用
友元類
友元類的所有成員函式都是另外一個類的友元函式
- 如果兩個類分別放在不同的檔案中,可以加入另外一個類的標頭檔案,或者用前向宣告
// friend_class.h
#ifndef _TEST_H_
#define _TEST_H_
class FriClass; //前向宣告
//或者包含標頭檔案
//#include "friclass.h"
class Test
{
friend class FriClass;
public:
Test();
};
#endif
友元類注意事項
- 友元關係是單向的
- 不能傳遞
- 不能繼承
相關文章
- 友元
- (碼友推薦)2018-07-07.NET及相關開發資訊速遞
- 其他成員與友元
- C++中的友元C++
- C++——內聯,友元C++
- 類别範本與友元
- 友元類的使用方法
- 友元函式的使用方法函式
- 07年07月07日
- (碼友推薦)2018-07-17.NET及相關開發資訊速遞
- C++類將函式模板宣告為友元 例項C++函式
- 07
- GoCN每日新聞(2018-07-07)Go
- 07索引索引
- java 07Java
- c++單例模式、常量成員函式、引數傳遞、友元C++單例模式函式
- 友鏈
- 友鏈~
- 友聯
- “中信信託2021月07日27收到信託產品本金6481萬元;
- 樹洞07
- Day07
- java07Java
- 2024/03/07
- shell practice 07
- 衝刺07
- 07函式函式
- SpringCloudday07SpringGCCloud
- 07-const
- 友鏈 & orz
- 你好,小友!
- 友誼時光2020年營收超21億,ARPPU值已上升至715.5元營收
- 小米推出199元功能機 網友:真是不讓其他手機廠家活了!
- 中國移動放大招:20元任我用無限流量套餐,網友:又是套路!
- 07物件的建立物件
- 24_03_07
- 【HTML】07佈局HTML
- 07_異方差