私は仮想継承
class Base1 {};
class Base2 {};
class Derived : public Base1, public Base2 {};
のようなものを持っている場合は、派生のオブジェクトを作る上で、コンストラクタ呼び出しの順序は、彼らが
class Derived : public Base1, public Base2 {};
に表示される順序で
Base1
Base2
すなわちですが、 クラスに変更した場合Derived:public Base1、virtual public Base2 {}; はその後、コンストラクタ呼び出しの順序は、私はこれがそうである理由を理解することはできませんよ
Base2
Base1
なり?
もう1つの疑問: 実質的にBase1を継承する意味と目的は何か。
あなたはまだ11ヶ月ですが、まだあなたの投稿を正しくフォーマットできませんか? – BlackBear
ヘルプhttp://gotw.ca/gotw/080.htm – DumbCoder
「Base1」と「Base2」を宣言しているのに、「Base」と「Base1」を使用しているため、誤植があると仮定しています。 – Cornstalks