C ++オブジェクト指向の継承とポリモーフィズム

章XIIIポリモーフィズムと継承

 

13.1継承と派生

1.継承と派生構文:

クラス派生クラス名:基底クラス継承されたメソッドのクラス名

{

//被覆性と、基本クラスのメンバーの動作を追加したり、過負荷に

}

2.継承されたメソッドを承継、相続や民間の継承の保護を開示しています。相続パブリック、保護、およびプライベート。いずれかの方法の3種類、すべての派生クラスの継承に使用された基本クラスのすべてのメンバーを(基底クラスのコンストラクタを、コピーコンストラクタとデストラクタは除外しました)

プロパティへのアクセスの3派生型:存在するが、単離され、直接アクセスすることはできません派生クラスで基本クラスのプライベートメンバー。彼らは、基本クラスのメンバーがアクセスする必要がある場合。

4.派生クラスオブジェクトは、オブジェクト・ベース・クラスに割り当てられた(コピーコンストラクタ)オブジェクトベースクラス、参照の基底クラスの初期化、初期化することができます。派生クラス・オブジェクト・アドレス・ポインタは、基本クラスの変数は、基本クラスのポインタ変数に割り当てることができる初期化することができます。

仮想関数仮想メンバ関数予約語を使用して、仮想関数として宣言することができます。

6.フレンド関数は、仮想することはできません!

7としては、彼の仮想関数として基底クラスデストラクタで定義することができる(良好)

8.純粋仮想関数(純粋仮想関数後のヘッダーの後関数、書き込み記号「= 0」が仮想関数です)

9.限り純粋仮想関数を含むクラスとして、このクラスは抽象クラスです。抽象クラスの唯一の効果が継承されます。純粋仮想関数を定義する派生クラスは、ベースクラスをオーバーライドすることができます。抽象クラスから派生した抽象クラスも限り、それはまた、定義によって覆われていない純粋仮想関数であるようであってもよいです。クラスは純粋仮想関数でない場合は、このクラスでは、具体的なクラスになります。

ポインタ変数が、オブジェクトの特定点派生クラスで抽象クラスによって定義されてもよい; 10.抽象クラスは、オブジェクトを作成できません抽象クラス宣言を挙げることができるが、オブジェクトは、派生クラスの特定の型宣言参照で初期化されなければなりません。

仮想関数約11説明:

(1)クラスのメンバ関数は、仮想宣言することができます。

(2)純粋仮想関数には、ボディはありません。抽象クラスを継承しています。あなたは抽象クラスのオブジェクトを作成することはできませんが、抽象クラスの声明を引用し、抽象クラスのポインタ変数を定義することができます。

(3)コンストラクタは、コピーコンストラクタは、仮想することはできません。仮想機能は特定のオブジェクトを認識することであるので、オブジェクトコンストラクタはプロセス設定を完了していない後に、オブジェクトが形成されていない実行されます。

(4)静的関数は、仮想ことができません。デフォルトの静的関数はオブジェクトを行使していないため。

 

おすすめ

転載: www.cnblogs.com/joelovescoding/p/11829664.html