nThe purpose of declaring a function to
be pure is to force the derived classes to implement
it.
nA virtual function is a contract with a
derived class indicating the name, signature,
and return type for the function.
nMaking the virtual function pure forces
the contract to be fulfilled.