読者です 読者をやめる 読者になる 読者になる

コンストラクタ内での仮想関数の呼び出しはしちゃ駄目ー!

コンストラクタが完了するまでは仮想関数の解決は基底クラスに従って行われます。
なので、呼ばないようにしましょう。

解決策としては、initialize()関数を作って、そのなかで、仮想関数を呼ぶようにします。
オブジェクトを構築直後にinitialize()を呼び出すようにします。