title: Don't override the pure virtual function in derived class
body: <p>In the following example, the class <strong>Base</strong> is an <strong>abstract class</strong>. the <strong>Derived</strong> class inherits from a <strong>Base</strong> class. I don't override the pure virtual function in derived class.
  Then, I have been trying to create derived class object, but the compiler gives following error.</p>
  
  <pre><code>error: cannot declare variable 'd' to be of abstract type 'Derived'
       Derived d;
  </code></pre>
  
  <p><strong>Code here:</strong> </p>
  
  <pre><code>#include&lt;iostream&gt;
  using namespace std;
  
  class Base
  {
  public:
      virtual void show() = 0;
  };
  
  class Derived : public Base
  {
  
  };
  
  int main(void)
  {
      Derived d;
      return 0;
  }
  </code></pre>
  
  <p><strong>Why Derived class also become abstract class?</strong></p>