title: Do I need to have a .cpp file for an abstract class?
body: <p>First, I am new to C++. I open a header file for each and every C++ class. Now I am in a need of creating an abstract class. Following is my code</p>
  
  <p><strong>Magic.h</strong></p>
  
  <pre><code>#pragma once
  class Magic
  {
  public:
      Magic(void);
      ~Magic(void);
      virtual void display()=0;
  };
  </code></pre>
  
  <p><strong>Magic.cpp</strong></p>
  
  <pre><code>#include "Magic.h"
  
  
  Magic::Magic(void)
  {
  }
  
  
  Magic::~Magic(void)
  {
  }
  </code></pre>
  
  <p>Now, as you know I can't add following to the cpp file.</p>
  
  <pre><code>Magic::display()
  {
  }
  </code></pre>
  
  <p>So, do I really need a .cpp file for an Abstract class? Or else, am I incorrectly calling <code>display()</code> in .cpp file?</p>