Text book extract:
Anytime we redefine an overloaded function name from the base class, all the other versions are automatically hidden in the derived class.
I get this. But, what is the reasoning behind this. Or is it like that's how they designed C++?