Yes, templates may be inherited. The following should work ok:
template< class T > class Foo
{
T* tvector;
int tvcount;
public:
Foo( int );
};
template< class T > class Bar : public Foo< T >
{
T work_T;
public:
Bar( int );
};
Remember that each Foo< T > is a different type i.e.
Bar< int > intBar;
Bar< double > dblBar;
Foo< int > * pFoo = &dblBar; // error