C ++クラスの継承

継承クラス


公共、保護された、プライベート:C ++、継承では、3つのクラスがあります。

リテラルの解釈:

公共:プライベートプロパティが継承されない、様々な他の権限は変更されないまま、同じ親。

保護:プライベートプロパティは継承されません、保護された他のプロパティを変更し、クラス内でアクセス、クラスが外部からアクセスできません。

プライベート:プライベートプロパティは、クラス、プライベートクラス内でアクセス、アクセスできません外部に他のプロパティを変更し、継承されていない、サブクラス継承が許可されていません。

 

グラフィック:

コードの説明:

// オブジェクト指向の継承方法の.cppファイル:このファイルは、「メイン」機能が含まれています。プログラムの実行が開始され、ここで終了します。
//
 
の#include <iostreamの>
 使用して 名前空間STD; 

クラス父{
 パブリックINT A;
 保護int型B;
 プライベートINT C; 

}; 
クラス SON1:公共父{ 

パブリックボイドショー(){ 
        COUT << << endl;             // パブリックメンバーが継承することができますが、同じパブリック属性 
        ; coutの<< B <<てendl             // 保護されたメンバーを継承することができ、そのまま保護されたプロパティを
        // COUTマネー<< <<てendl;       // プライベートメンバーは継承できません、できないアクセス
    } 

}; 

クラス Son2:保護された父{
 パブリック無効ショー(){ 
        COUT << A <<てendl;           // パブリック属性を継承することができ、プロパティが保護されたクラス内でアクセスすること 
        はcout << B <<てendl;           // 保護属性を継承することができ、プロパティが変更されないまま、まだ保護
         // coutの<<てendl <<マネー;     // プライベートメンバーは継承できません
    } 

}; 
クラス Son3:プライベート父{
 パブリック無効ショー(){ 
        COUT<<てendl <<;           // パブリック属性を継承することができますが、プライベートに属性、クラスがアクセスできる 
        COUT B << <<てendlを;           // 保護属性を継承することができ、プライベートに属性、あなたがクラスにアクセスできる
         // COUTをC << ENDL <<;          // プライベートメンバーを継承することができない
    } 

}; 

ボイドTEST01(){ 

    SON1 SON1; 
    son1.a = 0 ;    // パブリックプロパティは、パブリックまま
     @ son1.b保護属性がクラスアクセスできない外である
     // son1.cアクセスできない外のプライベート属性クラス
                                
    son1.show(); 
} 
無効TEST02(){ 
    son2 son2; 
    // son2.a     // 公衆保護の変更、アクセスできなく外部のクラス
     //son2.b     // 変更されません保護は、クラス外からアクセスできません
     // son2.c     // private継承されていないアクセスできない 
    son2.show(); // パブリックメンバ関数は、印刷保護することができる
} 

無効TEST03を(){ 
    Son3 son3。
    // すべての非プライベートメンバーは、すべてのプライベート、外部アクセス不可能に変換され
    
    、()son3.show 
} 

int型のmain()
{ 
    
    
}

 

 

おすすめ

転載: www.cnblogs.com/PPWEI/p/12605690.html