1つの相続の構文
クラスベース{ パブリック: ボイドプリント(){ COUT << " ベース" << ENDL。 } }。 クラス日:公衆基地{ }。 INT メイン(){ 太陽S。 スプリント(); }
2アクセス権限を継承します
サブクラスは親クラスを継承する場合、アクセス許可は、3つの方法を継承するサブクラスのメンバーによると継承されている変更されます
3.継承モデル
すべてのメンバ変数と関数は、親クラスの継承のサブクラスですが、いくつかは、異なるアクセス許可に基づいて呼び出すことはできません
ビュー:
(1)コマンドプロンプトを開き、開発者
最初から開いているウィンドウ
(2)パスをファイルに移動
(3)CL / D1 reportSingleClassLayoutクラスファイル名
CL / D1 reportSingleClassLayoutSun main.cppに
注意:文字のL Cバックは、dは後ろのナンバーワンである場合には
クラスベース{ パブリック: INT 。 ボイドプリント(){ COUT << " ベース" << ENDL。 } }。 クラス日:公共ベース{ int型のB; }
あなたはクラスのメンバーがダウンして継承されて見ることができます
4.連続のコンストラクタとデストラクタシーケンス
クラスベース{ パブリック: ベース(){ COUT << " 親構造" << ENDL; } 〜ベース(){ COUT << " 親デストラクタ" << ENDL; } }; クラス太陽:公衆基地{ 公共: サン(){ COUT << " サブクラスの構築" << ENDL; } 〜日(){ COUT << " サブクラスデストラクタ"<<endl; } }。 INT メイン(){ { 太陽S。 } }
道スタックに沿ったライフサイクル
コール親クラスとサブクラス
サブクラスあなたは範囲を拡大するために、親クラスの必要性のメンバ変数やメンバをコールする場合
クラスベース{ パブリック: ボイドプリント(){ COUT << " 親" << ENDL; } }; クラス太陽:公衆基地{ パブリック: ボイドプリント(){ COUT << " サブクラス" << ENDL; } } ; int型のmain(){ { 日S; s.print(); s.Base ::印刷(); // サブクラスの親オブジェクトがスコープを追加する必要があります } }
静的なルールは同じです
5.多重継承
クラスBASE1 { パブリック: ボイドプリント(){ COUT << " 父类1 " << ENDL。 } }。 クラスBASE2 { パブリック: ボイドプリント(){ COUT << " 父类2 " << ENDL。 } }。 クラス日:公共 BASE1、公共BASE2 { パブリック: 無効印刷(){ coutの << " 子の类" <<endl; } }。
慎重に状況は、同じ名前の異なる親を表示されます