template<typename T>
class Der : public Base<T>
Der is now a template class that iherits from Base
you must inherit it as template first then make the specilzation
template<typename T>
class Der : public Base<T>
...
template<>
class Der<int> : public Base<int>
Der is now a template class and has its own int
specilization
template<typename T>
class Der : public Base<int>
class Der : public Base<int>
Der is a class, NOT template class.