[解決済み] 私的相続、公的相続、保護相続の違いについて
2022-03-16 07:28:54
質問
<ブロッククオート
とはどのような違いがあるのでしょうか?
public
,
private
および
protected
を継承しています。
C++?
SOで見つけた質問は、すべて具体的なケースを扱っています。
解決方法は?
その答えとして、まず、memberのアクセサを私の言葉で説明したいと思います。すでにご存知の方は、見出しの "next:" まで読み飛ばしてください。
私が知っているアクセサーは3つです。
public
,
protected
と
private
.
させる。
class Base {
public:
int publicMember;
protected:
int protectedMember;
private:
int privateMember;
};
-
を意識しているもの全て
Base
は、次のことも知っています。Base
にはpublicMember
. -
子供たち(とその子供たち)だけが知っていること
Base
にはprotectedMember
. -
以外にはありません。
Base
を意識しています。privateMember
.
is aware of"とは、「存在を認め、アクセスすることができる」という意味です。
次をご覧ください。
public、private、protectedの継承でも同じことが言えます。あるクラスについて考えてみましょう。
Base
というクラスと
Child
を継承している
Base
.
-
もし、継承が
public
を意識しているものはすべてBase
とChild
も認識しています。Child
を継承しています。Base
. -
もし、継承が
protected
のみです。Child
を継承していることを認識しています。Base
. -
もし、継承が
private
以外のものは使用できません。Child
は、その継承を意識している。
関連
-
[解決済み】coutはstdのメンバではない
-
[解決済み】関数名の前に期待されるイニシャライザー
-
[解決済み】「Expected '(' for function-style cast or type construction」エラーの意味とは?
-
[解決済み】浮動小数点数の乱数生成
-
[解決済み] const int*、const int * const、int const *の違いは何ですか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] C++で仮想関数が必要な理由とは?
-
[解決済み] g++とgccの違いは何ですか?
-
[解決済み] Pythonで'super'は何をするのですか?- super().__init__() と明示的なスーパークラス __init__() の違い
-
[解決済み】Pythonの「private」メソッドは、なぜ実際にはprivateではないのですか?
最新
-
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++のGetlineの問題(オーバーロードされた関数 "getline "のインスタンスがない
-
[解決済み】文字列関数で'char const*'のインスタンスを投げた後に呼び出されるterminate [閉店].
-
[解決済み] クラスにデフォルトコンストラクタが存在しない。
-
[解決済み] 既に.objで定義されている-二重包含はない
-
[解決済み】クラステンプレートの使用にはテンプレート引数リストが必要です
-
[解決済み】C++ - 適切なデフォルトコンストラクタがない [重複]。
-
[解決済み】Enterキーを押して続行する
-
[解決済み】変数やフィールドがvoid宣言されている
-
[解決済み] 変数サイズのオブジェクトが初期化されないことがある c++