C++/CLIにおけるオーバーライド

C++/CLIでは,派生クラスでオーバライドする関数を指定できるみたいです.

ref class Base {
public:
    virtual void EEE()
    {
        Console::WriteLine(L"Base::EEE");
    }

    virtual void FFF()
    {
        Console::WriteLine(L"Base::FFF");
    }

    virtual void GGG()
    {
        Console::WriteLine(L"Base::GGG");
    }
};

ref class Derive : Base {
public:
    virtual void FFF() override = Base::EEE
    {
        Console::WriteLine(L"Derive::FFF");
    }

    virtual void HHH() = Base::GGG
    {
        Console::WriteLine(L"Derive::HHH");
    }
};

int main(array<System::String ^> ^args)
{
    Base^ b = gcnew Derive();
    b->EEE();
    b->FFF();
    b->GGG();
    return 0;
}

実行すると,

Derive::FFF
Derive::FFF
Derive::HHH

となります.へぇ〜,知らんかった.
参考