Try template <class T> class MyBase {...}; then you can inherit from a concrete instantiation like this: class Fred : public MyBase<int> { };