C C 初學簡單筆記 2 1 類的友元

2021-12-29 19:39:21 字數 885 閱讀 3790

類的友元。

c++為解決效率的需要,提出了乙個友元的概念。

只要把某個類外函式宣告為該類的友元,就可以直接訪問類中的任何成員(public,protect,private)

也就相當於說,開放了乙個後門,既然是開後門,那麼自然是在該類裡面說明。

所以,所有的友元宣告都應該在該類中。

1)將普通函式宣告為類的友元,

如:class a

;void display(a &a)

; class b

3)將某個類的成員函式宣告為本類的友元函式, 開放許可權給某個成員函式

參考**如下:

#include

using namespace std;

class a; // 因為在類a的定義之前,類b用到了a,所以要先在這裡做引用性宣告

class b

; class a

; // 注意:開放給其他類,那麼其他類必須在此前已經有完整定義了!

friend void b::showa(a &a); // 要通過『::』運算子表示開放許可權給哪個類的成員函式

};// 友元的成員函式,必須定義在該類的後面,不然找不到a的定義

void b::showa(a &a)

int main()

1)友元都宣告在類中,只是說明友元函式,友元類有權訪問類的所有成員,但並不表明友元函式和友元類屬於該類的成員。

2) 友元宣告不受許可權的限制,宣告在哪一行都行。

3)用friend 修飾,一般使用物件的別名作為引數

Qt學習筆記 初學簡單筆記

1.ubuntu下終端命令安裝qt4 sudo apt get install qt4 dev tools 開發包 sudo apt get install qtcreator ide sudo apt get install qt4 doc 開發幫助文件 sudo apt get install ...

sdn簡單筆記(初學理論)

一.sdn是什麼?已進入生產成熟期 傳統網路架構 垂直整合的封閉系統 硬體和系統相耦合 網路功能的簡單堆砌 行業創新基本停滯。sdn變革網路架構 資料面 通用硬體 控制面 應用 權威組織 onf,on.lab 對比 傳統網路 sdn 專用網路功能 sdn應用 作業系統 sdn控制器 這三層之間存在開...

DeepSort的簡單筆記

online and realtime tracking with a deep association metric 這篇文章是在sort基礎上的改進。sort的匹配矩陣用的是iou,匹配方法是匈牙利演算法。deepsort加入了外觀特徵和級聯匹配解決了id switch和長時間遮擋的追蹤問題。對...