title: With virtual destructors, do I need to explicitly declare a virtual destructor for each subclass?
body: <p>I've got a scenario where I'm writing somewhat deep object oriented code, with multiple layers of abstract base classes, and I'm wondering if I have to explicitly declare a destructor for each one. </p>
  
  <p>Will the compiler generate a default one that's already virtual, or will I have to tell it to? </p>