思想の違い のつづき。
あらかた想像はつくんだが、C++/CLI版:
---- C++/CLI ----
ref class Base {
public:
Base() { initialize(); }
virtual void initialize()
{ System::Console::WriteLine("Base::initialize") ; }
};
ref class Derived : Base {
public:
virtual void initialize() override
{ System::Console::WriteLine("Derived::initialize") ; }
};
int main() {
Base^ b = gcnew Derived();
}
---- 実行結果 ---
Derived::Initialize
異なる挙動を示すmanaged/nativeクラスがコード内に共存することになりますわな。
ぢみーにpitfallになりそぉですねぃ。