nHiding alternative functions behind a common interface is called polymorphism (a Greek term which means "many forms").
nPolymorphism allows multiple implementations of a member function to be defined, each implementing different behavior.
nMember function overloading is one form of polymorphism. Member function hiding is another.
nOne of the most powerful
forms of polymorphism is member
function overriding. With overriding, applications can be independent of derived classes by using only base class member functions to perform operations on derived classes.