Virtual destructors are required when you will be utilizing these items polymorphically. It's sufficient for the base class destructor to be virtual;
the determined destructors will be certainly virtual
also.
For your situation, it doesn't seem as though you will utilize the discoursed polymorphically, so maybe you needn't bother with a virtual destructor by any stretch of the imagination.