Prova così:

template < class elemType>

class Base {

/* ... */

};

template < class elemType>

class derived : public base < elemType > {

/* ... */

};

In questo modo derived è derivata, ed è template.