#include "stdafx.h"
using namespace System;
interface class MyInterface1 { void f(); };
interface class MyInterface2 { void f(); };
ref class MyClass : MyInterface1, MyInterface2
{
public:
virtual void f1() = MyInterface1::f
{
Console::WriteLine("MyClass::f1 == MyInterface1::f");
}
virtual void f2() = MyInterface2::f
{
Console::WriteLine("MyClass::f2 == MyInterface2::f");
}
};
int main()
{
MyClass^ r = gcnew MyClass();
MyInterface1^ i1 = r;
MyInterface2^ i2 = r;
r->f1(); // OK -- call through the object.
r->f2(); // OK -- call through the object.
i1->f(); // OK -- call f1.
i2->f(); // OK -- call f2.
}