title: How to declare copy constructor in derived class, without default construcor in base?
body: <p>Please take a look on the following example:</p>
  
  <pre><code>class Base
  {
  protected:
      int m_nValue;
  
  public:
      Base(int nValue)
          : m_nValue(nValue)
      {
      }
  
      const char* GetName() { return "Base"; }
      int GetValue() { return m_nValue; }
  };
  
  class Derived: public Base
  {
  public:
      Derived(int nValue)
          : Base(nValue)
      {
      }
      Derived( const Base &amp;d ){
          std::cout &lt;&lt; "copy constructor\n";
      }
  
      const char* GetName() { return "Derived"; }
      int GetValueDoubled() { return m_nValue * 2; }
  };
  </code></pre>
  
  <p>This code keeps throwing me an error that there are no default contructor for base class. When I declare it everything is ok. But when i dont, code does not work. </p>
  
  <p>How can I declare a copy constructor in derived class without declaring default contructor in base class?</p>
  
  <p>Thnaks.</p>