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