[解決済み】C++のクラスのprivateとprotectedのメンバの違いは?
2022-03-26 20:18:53
質問
とはどのような違いがあるのでしょうか?
private
と
protected
C++のクラスのメンバ?
ベストプラクティスの規約では、クラスの外から呼び出されない変数や関数は
private
-しかし、私の MFC プロジェクトを見ると、MFC は
protected
.
何が違うのか、どちらを使えばいいのか?
どのように解決するのですか?
プライベートメンバーは、それを定義しているクラス内でのみアクセス可能です。
プロテクテッドメンバーは、それを定義したクラスとそのクラスを継承したクラスでアクセス可能です。
編集:どちらも、そのクラスの友人や、保護されたメンバーの場合はその派生クラスの友人からもアクセスできます。
編集2:あなたの問題の文脈で意味のあるものは何でも使ってください。結合を減らし、ベースクラスの実装を保護するために、できる限りメンバをプライベートにするようにすべきです。チェック C++のよくある質問 をご覧ください。 保護された変数に関するこの質問 も参考になるかもしれません。
関連
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み】Visual Studio 2013および2015でC++コンパイラーエラーC2280「削除された関数を参照しようとした」が発生する
-
[解決済み】#include<iostream>は存在するのですが、「識別子 "cout "は未定義です」というエラーが出ます。なぜですか?
-
[解決済み】 while(cin) と while(cin >> num) の違いは何ですか?)
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] インターフェースと抽象クラスの違いは何ですか?
-
[解決済み] パブリック、プライベート、プロテクトの違いは何ですか?
-
[解決済み] Pythonにはクラス内に「プライベート」変数がある?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テスト
-
[解決済み】coutはstdのメンバではない
-
[解決済み】コンストラクターでのエラー:識別子を期待されますか?
-
[解決済み】C-stringを使用すると警告が表示される。"ローカル変数に関連するスタックメモリのアドレスが返される"
-
[解決済み] error: 'ostream' does not name a type.
-
[解決済み】C++ 式はポインタからオブジェクトへの型を持っている必要があります。
-
[解決済み】Cygwin Make bash コマンドが見つかりません。
-
[解決済み] 非静的データメンバの無効な使用
-
[解決済み】1つ以上の多重定義されたシンボルが見つかる
-
[解決済み] mutable' キーワードには、const 関数で変数を変更できるようにする以外の目的があるのでしょうか?