新・明解 C++で学ぶオブジェクト指向プログラミング 第8章 多重継承

新・明解C++で学ぶオブジェクト指向プログラミング

柴田 望洋 SBクリエイティブ 2018年09月18日頃
売り上げランキング :

by ヨメレバ

第8章 多重継承

*間接基底クラスとしてであれば、同一のクラスが2個以上含まれてもよい。

class A { /******/ };
class X : public A { /******/ };
class Y : public A { /******/ };
class Z : public X, public Y { /*******/ };

*基底クラス部分オブジェクトは、基底指定子並びの宣言順に初期化される。

*基底クラスに同じメンバがいる場合は、曖昧さを解決しておく。

Base1::print();
Base2::print();

*データメンバーをもたず、仮想関数だけで構成されるクラスは、抽象基底クラスとよばれる。

*多重継承した親同士の間のキャストをクロスキャストと呼ぶ。
クロスキャストには dynamic_cast を使う。

*仮想基底クラスを定義すると、2つ定義されていても実体はひとつになる。

感想
クロスキャストの概念は理解したけど、そこまでやる必要があるケースが浮かばない。。。。

タイトルとURLをコピーしました