C++ 覚書
継承先での virtual
クラスの継承で階層がある場合、
あるメソッドが初めて virtual 指定された階層以下のクラスは再帰的に、
virtual 指定の有無に関わらず強制的に virtual 扱いになるらしい。
virtual メソッド Foo を持つクラス A を継承してクラス B を作り、 B で Foo を定義する。
ついでに、さらに B を継承してクラス C を作り、やはり Foo を定義。
この時、A で virtual 指定されてる時点で B, C では Foo に関して virtual 指定の有無によって挙動が変わることはない(強制的に virtual 扱いになるので override することになる)。
でもソース読んでてすごくわかりいくい気がするので、
俺ローカルルールでは必ず virtual の記述を
すべて表示
その他の最新記事
記事がありません。

