@egtraイグトランスの頭の中(のかけら)ActiveBasicを中心にプログラミングの話をぼちぼちと。virtual.コメントなしC++の仮想基底クラスの話です。これ、存在は知っていても使うことのない機能の筆頭ではないかと思います。このプログラムではBのコンストラクタにどんな値が渡されるでしょうか。そもそも、DはBから直接派生していないのに、DのコンストラクタでBに対する引数を指定できることを不思議に思うかもしれません。virutal基底クラスは最派生クラスでコンストラクタへの引数を指定します。DでBへの初期化子を書かなかったら、コンパイルエラーになります。HogeとPiyo、それぞれでBへの初期化子を与えており、どちらを採用すべきか曖昧、それを決定する責任を持つのは最派生クラスというわけです。この挙動は多重継承がない場合にも適用されます。次のプログラムでは、Bに2が渡されます。}私は、この最派生クラスで指定した初期化子が採用されるという規則、virtual関数のオーバーライドに通じるよなあ、とぼんやり思いました。仮想ベースクラスのレイアウト)。コメントをキャンセルメールアドレスが公開されることはありません。WPThemes.Info。