1 2 3 4 5 6 7 8 9 10 11 12
template<class T> class Base {}; class Derived : public Base<Derived> {}; template<class T> class BaseWithDestructor { ~BaseWithDestructor(); }; class DerivedFromBaseWithDestructor : public BaseWithDestructor<DerivedFromBaseWithDestructor> {};