レガシーコード改善ガイドを読んでいて知ったのですが、C++はコンストラクタ内のメソッドのオーバーライドが禁止されているようです。
レガシーコード改善ガイド (Object Oriented SELECTION)
- 作者: マイケル・C・フェザーズ,ウルシステムズ株式会社,平澤章,越智典子,稲葉信之,田村友彦,小堀真義
- 出版社/メーカー: 翔泳社
- 発売日: 2009/07/14
- メディア: 大型本
- 購入: 45人 クリック: 673回
- この商品を含むブログ (152件) を見る
あまり意識していなかったのですが、確かに以下のようなパターンもあるので危険ですね。
Javaではオッケーってことになってるみたいですが、テスト用途以外はあまりオーバーライドは使わない方がよさそうです。