title: interface class in Managed C++
body: <p>The interfaces in Managed C++ looka bit strange to me since they allow static methods and members inside them. For example, following is a valid MC++ interface.</p>
  
  <pre><code>interface class statinterface
  {
      static int j;
      void Method1();
      void Method2();
  
      static void Method3()
      {
          Console::WriteLine("Inside Method 3");
      }
  
      static statinterface()
      {
          j = 4;
      }
  };
  </code></pre>
  
  <p>Well, my question is that what is the use of static methods in an interface. And what happened to virtual tables etc. What will be the virtual table of the classes implementing this interface. There are lots of questions that come to mind. This type of class i.e., interface class is not equivalent to a plain abstract class since we can't have definition of non-static methods here. </p>
  
  <p>I just want to know the wisdom of allowing statics in interface. This is certainly against OOP principles IMO.</p>