2017-03-06 117 views
1

如何防止朋友函數訪問某個類的私有成員。我們可以做到這一點嗎?防止朋友函數訪問某個類的私有成員

這個問題在面試中被問到,他確信可以做到,他給了關於函數/函數對象的暗示。到目前爲止,我無法想到任何事情。如果有答案,我很興奮。

+5

不要讓該功能成爲班級的「朋友」嗎? –

+2

[pimpl](http://en.cppreference.com/w/cpp/language/pimpl)?我能想象的最接近的事物。 – felix

+1

我不明白這樣的代碼 - 在面試中打高爾夫球的問題。這些問題提供了關於受訪者的什麼信息,這對他們正在申請的角色有用? 「朋友」的唯一目的是允許它訪問「私人」成員。 –

回答

2

我們如何防止朋友功能訪問類的私人成員。我們可以做到這一點嗎?

不,你不能。

一旦你的班級宣佈爲friend,任何進入private成員的門都會打開。

0

封裝的想法是將數據和方法(對數據進行處理)捆綁在一起,並限制私人數據成員在類之外的訪問。在C++中,朋友函數或朋友類也可以訪問私有數據成員。