Interface name collision : interface « Class « Visual C++ .NET






Interface name collision

 
#include "stdafx.h"
using namespace System;

interface class MyInterface1 { void f(); };

interface class MyInterface2 { void f(); };

ref class MyClass : MyInterface1, MyInterface2
{
   public:

   virtual void f()
   { Console::WriteLine("MyClass::f"); }
};

int main()
{
   MyClass^ r = gcnew MyClass();
   r->f();  // MyClass::f() implements both MyInterface1's f and MyInterface2's f
}

   
  








Related examples in the same category

1.Interface definition
2.base and interface
3.Interface and class(The virtual keyword is required to implement the interface method)
4.Interface list
5.Interface properties events
6.constants in interfaces
7.interfaces implementing interfaces
8.multiple interfaces
9.static interfaces
10.class interface method ambiguity
11.Explicit interface implementation
12.Private interface