title: Different overloaded operator in derived class from base class
body: <p>If I overload <code>operator*(float s)</code> in a Base class (and I do not make it virtual) and then in a Derived class I overload <code>operator*(mat4 m)</code> can I reasonably expect that the Derived class will then respond to both operator overloads?</p>
  
  <p>I assume that an operator overload is like any other function: if it is not virtual and not overridden, then the Derived class has access to it in addition to any other overloads of that function/operator that are unique to the Derived class.</p>
  
  <p>Of course, if it is not virtual but the Derived class also defined <code>operator*(float s)</code> then it would effectively be called only if the Derived was accessed via a <code>Derived*</code> pointer, otherwise, the base class version would be called even on the Derived class, correct?</p>