C++ Notes-Inheritance-01

1036 ワード

継承と派生の概要
1、継承と派生は同じ過程で異なる角度から見る
既存のクラスの特性を維持して新しいクラスを構築するプロセスを継承と呼ぶ
既存のクラスに独自の特性を追加して新しいクラスを生み出す過程が派生する
ベースクラス(親)-派生クラス(子)
Base class         Derived class
2、継承と派生の目的
継承の目的:設計とコードの再利用を実現する
派生の目的:新しい問題が発生し、既存のプログラムが解決できない(または完全に解決できない場合)既存のプログラムを改造する必要がある.
3、単一継承時の派生クラスの定義
構文:
class派生クラス名:継承方式ベースクラス名
{
メンバー宣言;
}
Ex:
class Derived:public Base
{
    public:
        Derived();
        ~Derived();
};

4、多継承時派生クラスの定義
構文:
class派生クラス名:継承方式:継承方式1基クラス名2,継承方式2基クラス名2,...
{
メンバー宣言;
}
class Derived:public Base1,public Base2
{
    public:
        Derived();
        ~Derived();
};

5、派生類の構成
1)吸収ベースメンバー
デフォルトでは、派生クラスには、コンストラクション関数とコンストラクション関数を除くすべてのベースクラスのメンバーが含まれています.
C++11は、ベースクラス構築関数をusing文で継承できることを規定している
2)ベースクラスメンバーの改造
派生クラスがベースクラスのメンバーと同じ名前の新しいメンバーを宣言した場合、派生した新しいメンバーは外層の同じ名前のメンバーを非表示または上書きします.
3)新規メンバーの追加
派生クラスに新しいメンバーを追加すると、派生クラスが機能的に発展します.