「継承 (プログラミング)」の版間の差分
削除された内容 追加された内容
m編集の要約なし |
|||
24行目:
class Derivation : public D1, public D2 { /* ~ */ };
この例のような状態は特に[[菱形継承]](ダイアモンド継承)と呼ばれる。
仮想継承でない(D1, D2の部分のvirtualを取り除く)場合、Derivationの[[インスタンス]]にはD1の基底のBaseのnとD2の基底のBaseのnという2つのnが別に存在することになる(メンバ関数も同様)。仮想継承した場合、DerivationのインスタンスにはBaseの部分はただ1つしか存在しない。D1の基底とD2の基底が共有されている状態である。
|