c++ inherit overload hide