Introduction

template <parameter-list>

class-definition or function-definition

template <class animal_type, int max_animals>

class chaos_animal

{

animal_type animal[max_animals];

public:

void cacophony();

};

template <class animal_type, int max_animals>

void chaos_animal<animal_type,max_animals>::cacophony()

{

#include <time.h>

template <class algorithm_type>

class timer

{

public:

time_t timed(int n, algorithm_type t);

};

template <class algorithm_type>

time_t timer<algorithm_type>::timed(int n, algorithm_type t)

{

}

class dummy

{

public:

void work(int n){}

};

void main()

{

timer<dummy> test;

}