C++ の継承コンストラクターとは

C No Ji Chengkonsutorakutatoha



C++ では、 継承 オブジェクト指向プログラミングの重要な概念です。派生クラスは、強力な 継承 C++ の機能。派生クラスは、形成されるとすぐにすべての基本クラスのメンバーを継承します。派生クラスのコンストラクターは、基本クラスのメンバーも初期化する必要があります。 C++ では、 継承 は、開発者がコードを再利用し、効率を改善し、コードを論理階層に編成できるようにする強力な機能です。

継承とともに、コンストラクターも C++ では不可欠です。あ コンストラクタ オブジェクトのプロパティを初期化できる一意のメンバー関数です。アン 継承コンストラクター 基本クラスと、派生クラスが継承した派生クラス オブジェクトの両方を初期化するために使用されるコンストラクターです。の 継承コンストラクタ 継承された基本クラス メンバーと派生クラス メンバーの両方の初期化を担当します。これを実現するために、コンストラクターは基本クラスのコンストラクターを呼び出し、基本クラスから継承されたものを含め、派生クラスのすべてのメンバーが適切に初期化されるようにします。

基本クラスのコンストラクターを呼び出して必要なパラメーターを渡すことにより、 継承コンストラクタ 基本クラスのメンバーを初期化します。これは、 「基本クラス(引数)」 コンストラクターの初期化リスト。派生クラスに固有の追加の命令は、コンストラクタ本体で提供されます。







の構文 継承 C++ のクラスは次のとおりです。



クラス 派生クラス : accessSpecifier BaseClass {
// クラスメンバー
} ;

この場合、形成される新しいクラスは、 「派生クラス」、 から継承します 「ベースクラス」。 継承されたメンバーへのアクセス レベルは、「 アクセス指定子」。 C++ では、次の 3 種類のアクセス指定子を使用します。 「パブリック」、「プライベート」、 「保護された」 .言葉 '公共' 派生クラスが基本クラスのパブリック メンバーにアクセスできることを示します。によると、派生クラスは基本クラスのメンバーにアクセスできません。 'プライベート' 指定子。派生クラスは、子クラスによって継承できる保護された基本クラス メンバーにアクセスできます。 「保護された」 指定子。



C++ での継承の例

次の例は、の実装を示しています 継承 C++ で:





#include
使用して 名前空間 標準 ;

クラス 動物 {
公共 :
空所 食べる ( ) {
カウト << '私は食べられる!' << エンドル ;
}
空所 寝る ( ) {
カウト << 「寝れる!」 << エンドル ;
}
} ;
クラス : 公共 動物 {
公共 :
空所 ニャー ( ) {
カウト << 「ニャーできる!」 << エンドル ;
}
} ;
整数 主要 ( ) {
猫ねこ1 ;
猫1。 食べる ( ) ;
猫1。 寝る ( ) ;
猫1。 ニャー ( ) ;

戻る 0 ;
}

与えられたコードは、2 つのクラスを定義します。 '動物' '猫' 、 どこ '猫' から派生した '動物' .どちらのクラスにも、次のようないくつかのメンバー関数があります。 「食べる」「寝る」 、 と 'ニャー' .メイン関数はクラスのオブジェクトを作成します '猫' そして、 遺伝性の クラスの関数 '動物' クラスの特定の機能と同様に '猫' 、つまり 'ニャー' .このプログラムは、猫が食べたり、寝たり、鳴いたりできることを示すテキストをコンソールに出力します。

出力



クラスが派生すると、基本クラスのすべてのメンバー変数とメンバー関数が派生クラスに転送されます。の 遺伝性の 派生クラスでのメンバーのアクセシビリティは、アクセス指定子によって決定されます。派生クラスは、既存の機能を新しい機能に置き換えることもできます。基本クラスのメソッドに新しい実装を追加し、新しいメンバー関数と変数を追加できます。

覚えておくことが重要です。 継承コンストラクタ 基本クラスにデフォルトのコンストラクターがある場合、または使用できない場合は、必要なパラメーターを使用して基本クラスのコンストラクターを明示的に呼び出すために使用する必要があります。

結論

の強い特徴は 継承 C++ では、他のクラスから特性とアクションを継承することで、クラスがコードを再利用できます。 C++ の便利な機能 継承コンストラクタ 派生クラスが基本クラスのプロパティ、メソッド、およびデータ メンバーを継承できるようにします。基本クラス コンストラクターの初期化リストを追加することで、標準コンストラクターと同じ構文を使用して定義されます。 C++ プログラマーは、コードの重複を最小限に抑え、コード構造を強化できます。 継承コンストラクタ .オブジェクト指向プログラミングで複雑なクラス階層を作成する場合、これは重要なツールです。