Without a virtual destructor, deleting a derived object through a base-class pointer only invokes the base destructor, skipping the derived one.
Without a virtual destructor, deleting a derived object through a base-class pointer only invokes the base destructor, skipping the derived one.