templateclass
A class template, often referred to as a template class, is a programming construct that defines a family of classes parameterized by one or more template parameters. These parameters can be types, values, or other templates, enabling a single definition to be reused for multiple types and configurations without duplicating code.
In C++, a class template begins with a template header and is followed by a class declaration.
Class templates support generic programming by allowing containers and adapters to operate on any element type
Specialization and partial specialization are features of class templates. An explicit specialization provides a tailor-made version
Other related aspects include non-type template parameters, which allow compile-time values (e.g., template<int N> class Array