(12)C ++の継承

  

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; 
    } 
}。

 慎重に状況は、同じ名前の異なる親を表示されます

 

おすすめ

転載: www.cnblogs.com/buchizaodian/p/11606102.html
おすすめ