Quote Originally Posted by laserlight View Post
The idea in this case is that you want your class to be an abstract base class, but none of the member functions are appropriate to be pure virtual. As such, you choose the destructor to be a pure virtual. However, since the derived class destructor will still invoke the base class destructor, you need to implement the base class destructor.
I see the logic, but you could also just creata a foo pure virtual function and override it, even if to no effect.
But ah, still, I never thought of/knew you could do a destructor pure virtual.