Методы класса могут быть шаблонными. Единственное ограничение - они не могут быть виртуальными.
РЕДАКТИРОВАТЬ:
Чтобы быть более полным, конструктор также может быть шаблоном
class X
{
template<typename T>
X( T t )
{
}
};
Но, конечно, должен быть только один не шаблонный деструктор