「継承 (プログラミング)」の版間の差分

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