I would like to define a class that looks like this:
class IHaveVirtualDestructor
{
public:
virtual ~IHaveVirtualDestructor();
};
And I would like all my interface and abstract classes to inherit this class. Is it a good practice? Or should every interface/abstract class define its own virtual destructor? What are the drawbacks?