Native managed virtual : virtual method « Class « Visual C++ .NET






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;
}

   
  








Related examples in the same category

1.Virtual methods
2.override and virtual method
3.Explicit override
4.new method