Can the default destructor be generated as a virtual destructor automatically?

No. There is a cost associated with making a method virtual, and C++ has a philosophy of not making you pay for things that you don’t explicitly state that you want to use. If a virtual destructor would have been generated automatically, you would have been paying the price automatically.

Why not just define an empty virtual destructor?

Leave a Comment