title: Call default copy constructor from within overloaded copy constructor
body: <p>I need to write a copy constructor that deep copies the contents of a <code>std::shared_ptr</code>. However, there are a bunch of variable <code>int a, b, c, d, e;</code> also defined in the class. Is there a way to generate the default copy constructor code (or call the default copy constructor) inside my new overloaded one.</p>
  
  <p>Here is a code snippet with a comment that hopefully clarifies the issue.</p>
  
  <pre><code>class Foo {
  public:
       Foo() {}
       Foo(Foo const &amp; other);
       ...
  private:
       int a, b, c, d, e;
       std::shared_ptr&lt;Bla&gt; p;
  };
  
  Foo::Foo(Foo const &amp; other) {
      p.reset(new Bla(*other.p));
  
      // Can I avoid having to write the default copy constructor code below
      a = other.a;
      b = other.b;
      c = other.c;
      d = other.d;
      e = other.e;
  }
  </code></pre>