C ++の継承 - 派生クラスで基本クラスの初期化

基底クラスで初期化メンバ変数に、配信クラスを呼び出していない場合、派生クラス(すなわち、明示的な呼び出し)に基底クラスのコンストラクタを呼び出す必要ができるように、基本クラスのコンストラクターの他のメンバーとは異なり、派生クラスを継承することができませんデフォルトパラメータなしの基底クラスのコンストラクタ(すなわち、暗黙的な呼び出し)を呼び出します。

参照次のコードによって明示的に呼び出されます:


//基类
クラスの動物{
    保護:     
        int型の高さ。
    公共:
        動物(){
            高さ= 0。
        }
        動物(INT高さ){
            this->高さ=高;
        }
}。
//派生类
クラス魚:公共動物{
    パブリック:
        魚(){
            //
        }
        魚(INT高さ):動物(高さ){
        //
        }
}。
//魚m_fish(3); 次いで、動物- >高さ= 3。

•基本クラスは、パブリック公共の方法で継承されている場合は、ベースクラスのすべてのパブリックメンバーは、派生クラスのパブリックメンバーとなります。保護された基本クラスのメンバは、派生クラスのプロテクトメンバーになる
基底クラスは、プライベートプライベートに継承されている場合•、ベースクラスのすべてのパブリックメンバーは、派生クラスのprivateメンバになります。基底クラスの保護されたメンバーは、派生クラスのプライベートメンバーになります。
基底クラスが保護する方法に保護され継承されている場合•は、派生クラスの保護されたパブリックおよび保護されたメンバーのすべてのメンバーは、基本クラスになります。

おすすめ

転載: www.linuxidc.com/Linux/2019-07/159572.htm