Class Visual C++ .NET

#include "stdafx.h"
interface class IInterface
{
   void f();
   int g();
};
ref class MyClass : IInterface
{
      virtual void f() sealed = IInterface::f
      { }
   public:
      virtual int g() { return 1; }
};
int main()
{
   MyClass^ r = gcnew MyClass();
   IInterface^ ir = r;
   ir->f();  // f may be called through the interface.
   r->g();     // OK
}