1. 程式人生 > >[C++] 友元

[C++] 友元

約束 能夠 需要 pos 語句 c++ 函數聲明 一般來說 定義

友元

類可以允許其他類或函數訪問它的非共有成員,辦法是令其他類或函數成為它的友元。如果類想把一個函數作為它的友元,只需要添加一條以friend關鍵字開始的函數聲明語句即可。

友元聲明只能出現在類定義的內部,但是在類內出現的具體位置不限,友元不是類的成員也不受它所在區域訪問控制級別的約束。

一般來說最好在類定義開始或結束前的位置集中聲明友元

友元聲明

友元的聲明僅僅指定了訪問的權限,而非一個通常意義上的函數聲明,如果我們希望類的用戶能夠調用某個友元函數,那麽我們就必須在友元聲明之外再專門對函數進行一次聲明

為了使友元對類的用戶可見,我們通常把友元的聲明與類本身放置在同一個頭文件中(類的外部)。

Tips:封裝的益處

1、確保用戶代碼不會無意間破壞封裝對象的狀態

2、被封裝的類的具體實現細節可以隨時改變,而無須調整用戶級別的代碼

[C++] 友元