title: Where to put an interface class in c++
body: <p>I'm new to programming in c++ and struggle with organizing my project. 
  I have got a class named StateManager, which has a header file and an cpp file.
  The cpp contains all implementations. </p>
  
  <p>If I now want to make an Interface class:</p>
  
  <pre><code>class IStateManager
  {
      public:
          virtual ~IStateManager() {}   
          virtual void SomeMethod {}
  };
  </code></pre>
  
  <p>I know interfaces don't really exist as they do in c# or Java, but I want multiple classes to inherit from this "interface".</p>
  
  <p>Does this class also need an header and a cpp file? Or can I just put it in a header file?</p>