代入互換の原則に

C ++では、親クラスは、データのすべてを継承するもの継承派生クラス下に関係なく、違いは、それがアクセスできるかどうかである
:以下のルールで割当て互換
1.直接派生クラス・オブジェクトが移入ベースクラスオブジェクトに
2直接導出することができます基本クラスにクラス・オブジェクト・ポインタ割り当てのアドレス
3は、直接基本クラスを初期化する派生オブジェクトを参照するために使用することができる
が、原理は逆に実行することができない、喜んで次の
タイプ、構成およびサブクラスのインスタンスを作成する際のコンストラクタを動員します最初の親オブジェクトのコンストラクタの前に、事前にコンパイラは、スペースを開放すると親クラスのサブクラスの合計サイズ。親構造への第一の完了後メンバー、再び構成されたサブクラスのメンバーを追加し、継承は、すべてのメンバーが一緒にサブクラスオブジェクトを構成しています。サブクラスは親クラスに割り当てることができ、親クラスのメンバーが割り当てのメンバーだけで、親クラスと(ターゲットスライスと呼ばれる)同じスペースを使用して必要とされるもの親クラスのメンバー、サブクラスがすべて提供することができます含まれているため、サブクラスであります。そして今度は、親はサブクラスの必要性のすべてのメンバーを提供することはできません。

おすすめ

転載: blog.51cto.com/14289397/2478117