title: C++ Classes without class body declared outside of the namespace
body: <p>I'm really new to C++ Programming and I'm trying to teach it myself. While I was having a look at some code I noticed the following:</p>
  
  <pre><code>#ifndef _someclass_h_
  #define _someclass_h_
  
  class A;
  class B;
  class C;
  
  namespace somenamespace{
  
  class SomeClass 
  {
  public: 
  
  ...
  };
  }
  </code></pre>
  
  <p>I'm confused about the classes A, B and C being declared outside of the namespace while not having any class body. What is done here? 
  Does it have something to do with templates? </p>
  
  <p>Thanks in advance!</p>