This documentation is archived and is not being maintained.

Class Templates

You can use class templates to create a family of classes that operate on a type. Class templates are parameterized types. They imply that a separate class could be created for each conceivable value of the parameters (known as template arguments) passed in.

Template arguments can be types or constant values of a specified type. For example:

// class_templates.cpp
template <class T, int i> class TempClass 
    TempClass( void );
    ~TempClass( void );
    int MemberSet( T a, int b );
    T Tarray[i];
    int arraysize;

int main()

In this example, the templated class uses two parameters, a type T and an int i. The T parameter can be passed any type, including structures and classes. The i parameter has to be passed an integer constant. Because i is a constant defined at compile time, you can define a member array of size i using a standard array declaration.

For more information, see:

Other Resources