Virtual destructor

A destructor that lets deletion through a base pointer begin destruction at the most-derived object.

Used in