title: Calling the Constructor for the Abstract Base class in C++
body: <p>I know that the if I have an abstract class then I cannot create an object of abstract class type. But Suppose "Base" is a base class and "Derived" is a derived class.
  In base class I have one member variable name.</p>
  
  <pre><code>Base.h
  Base(string name = "");
  
  Base.cpp
  Base(string theName){name = theName);
  </code></pre>
  
  <p>Isn't this creating an object ?? </p>
  
  <p>In the Derived class I have member variable age.
  Now in the derived class default constructor</p>
  
  <pre><code>Derived.h
  Derived(string name = "", int theAge = 0);
  
  Derived.cpp
  Derived(string theName, int theAge):Base(theName) { age = theAge }
  </code></pre>
  
  <p>Isn't that also calling the default constructor for the Base ??
  So, am I allowed to call a parametrized constructor but not the default one ?</p>
  
  <p>One more thing, if I have another function in the Base class other than the pure function, how can I call that function if I am not allowed to create an object for the Base class ?</p>
  
  <p>Thanks in advance!</p>