継承クラス
公共、保護された、プライベート: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() { }