I know a virtual function is a member function of a class whose functionality can be overridden in its derived class.

If you have a virtual statement, do you need to assign your destructor as a virtual? If so, or if not why?