AMD Interview Question

In C++, what’s a virtual destructor and when is it needed?