title: Define default constructor for abstract base class
body: <pre><code>class ClassA {
  public:
      ClassA() {} // when this function must be provided
      virtual ~ClassA() = 0 {}
  };
  
  class ClassB : public ClassA
  {
      // ...        
  };
  </code></pre>
  
  <p>I want to know when the default constructor of an abstract base class must be provided.</p>