Recapped dynamic binding and virtual member functions.
Used virtual member functions to design an abstract
Array base class with a sorting function. Any class derived
from array can be sorted using sort() without recompiling
the base class functions.
A hetergeneous linked list can hold different types of
objects in the list at the same time.
The implementation of HList brings up many issues
that come up when you work with virtual functions,
including: