Template Classes
A class template gives the programmer the ability to define a data type in which some type information is purposely left unspecified - to be field in at a later time.
The class definition has been parameterized in a manner similar to a procedure or function.
Different instantiation of a parameterized class can fill in the type information in different ways.