title: C++ operator = overload inherited, is it necessary to redefine in the derived class though defined in the base class?
body: <p>Say I have this C++ code:</p>
  
  <pre><code>class Base {
  public:
   Base&amp; operator=(const Base&amp;);
  };
  
  class Derivate : public Base {
  public:
  
  };
  </code></pre>
  
  <p>And say I have a main where</p>
  
  <pre><code>Derivate d1;
  //Something on d1
  Derivate d2 = d1;
  </code></pre>
  
  <p>In this situation would the operator <code>=</code> of the base class called? I have some code that basically does such thing, but debugging with gdb I don't see any call to such operator.</p>
  
  <p>Is it necessary in this case redifine the operator in the derivate class? </p>