Это неопределенное поведение - может быть, все в порядке, может быть, все идет не так. Либо не делайте этого, либо снабжайте базовый класс виртуальным деструктором.
В большинстве реализаций это не протекает - в классе нет выделенных в куче функций-членов, поэтому единственное, что нужно сделать, когда delete
, это освободить память. Выделение памяти использует только адрес объекта, ничего более, куча делает все остальное.