Mega Code Archive

 
Categories / Visual C++ .NET / Class
 

Native managed virtual

#include "stdafx.h" class MyBaseClass {    public:    MyBaseClass()    {       myvirtual();    }    virtual void myvirtual()    {       System::Console::WriteLine("MyBaseClass::myvirtual");    } }; class NativeDerived : public MyBaseClass {    public:    NativeDerived()    {       myvirtual();    }    virtual void myvirtual()    {       System::Console::WriteLine("NativeDerived::myvirtual");    } }; ref class ManagedBase {    public:    ManagedBase()    {       myvirtual();    }    virtual void myvirtual()    {       System::Console::WriteLine("ManagedBase::myvirtual");    } }; ref class ManagedDerived : ManagedBase {    public:    ManagedDerived()    {       myvirtual();    }    virtual void myvirtual() override    {       System::Console::WriteLine("ManagedDerived::myvirtual");    } }; int main() {    NativeDerived nd;    ManagedDerived rd; }