フレンド関数がクラスのプライベートメンバーにアクセスするのを防ぐ方法を教えてください。私たちはこれをまったく行うことができますか?フレンド関数がクラスのプライベートメンバーにアクセスするのを防ぐ
この質問はインタビューで尋ねられ、彼はそれができると確信して、彼はファンクタ/機能オブジェクトについてのヒントを与えました。これまでは何も考えられません。私は答えがあればそれに興奮しています。
フレンド関数がクラスのプライベートメンバーにアクセスするのを防ぐ方法を教えてください。私たちはこれをまったく行うことができますか?フレンド関数がクラスのプライベートメンバーにアクセスするのを防ぐ
この質問はインタビューで尋ねられ、彼はそれができると確信して、彼はファンクタ/機能オブジェクトについてのヒントを与えました。これまでは何も考えられません。私は答えがあればそれに興奮しています。
友人の機能がクラスのプライベートメンバーにアクセスしないようにするにはどうすればよいですか?私たちはこれをまったく行うことができますか?
いいえ、できません。
あなたのクラスの何かがfriend
と宣言されると、private
のメンバーにアクセスするためのドアが開きます。
カプセル化のアイデアは、(データで動作する)データとメソッドをバンドルし、クラス外のプライベートデータメンバーのアクセスを制限することです。 C++では、フレンド関数またはフレンドクラスもプライベートデータメンバーにアクセスできます。
関数をクラスの「友人」にしないでください。 –
[pimpl](http://en.cppreference.com/w/cpp/language/pimpl)?私が想像できる最も近いもの。 – felix
私はインタビューでそのようなコードゴルピーの質問を理解していません。そのような質問がインタビュー対象者についてどのような情報を提供しますか?それは彼らが応募している役割に役立つでしょうか? 'friend'の唯一の目的は' private'メンバーへのアクセスを許可することです。 –