C++ クラスのprivate
とメンバーの違いは何ですか?protected
ベスト プラクティスの規則から、クラス外部で呼び出されない変数と関数を作成する必要があることは理解していますprivate
が、私の MFC プロジェクトを見ると、MFC は を優先しているようですprotected
。
違いは何ですか?どちらを使用すればよいですか?
ベストアンサー1
プライベート メンバーは、それを定義しているクラス内でのみアクセスできます。
保護されたメンバーは、それを定義したクラスと、そのクラスから継承したクラスでアクセスできます。
どちらも、そのクラスのフレンドからもアクセス可能であり、保護されたメンバーの場合は、その派生クラスのフレンドからもアクセスできます。
問題のコンテキストで意味のあるものは何でも使用してください。結合を減らし、基本クラスの実装を保護するために、可能な限りメンバーをプライベートにする必要がありますが、それが不可能な場合は、保護されたメンバーを使用します。
チェックC++ よくある質問問題をよりよく理解するため。保護された変数に関するこの質問も役立つかもしれません。