Class Templates
In addition to function templates, C++ also supports the method of class templates. By definition, a class template is a class definition that explains a family of related classes. The philosophy is essentially the same as that of function templates, i.e., the ability to make a class (or structure) that have one or more types that are generic, or parameterized.