title: C++ Inheritance of copy, move, swap, assignment and destructor? Which do I need
body: <p>Let's say that I have two classes</p>
  
  <p>Base manages some memory. It has working move, swap, assignment and destructor.
  Derived does not add anything new that need need to be managed (no new memory allocations).</p>
  
  <pre><code>class Base
  {
  public:
      Base();
      Base(const Base&amp; other);
      friend void swap(Base&amp; a, Base&amp; b);
      Base(Base&amp;&amp; other);
  
  protected:
      int** some2Darray;
      int w, h;
  };
  
  class Derived : public Base
  {
  public:
      Derived();
      //...?
  };
  </code></pre>
  
  <p>Do I need to implement all those functions in derived class for it to be good? How to reuse those functions from base class? I don't need to manage any more memory in this class.</p>
  
  <p>How those function would look if I added member to Derived class? Should I totally rewrite all those functions or is there some way to use for example "copy" base class and just copy that one added member additionally in copy constructor?</p>