Задать вопрос
@kaka888
C, C++, Qt, Python, Flask, aiogram, MySQL, Redis..

Как в деструкторе базового класса вызвать переопределённый метод?

Есть объект вида
Parent* obj = new Child();

Как в деструкторе родительского класса вызвать виртуальный метод с переопределённой дочерним классом реализацией?

Или как сделать так, чтобы вызывался деструктор только дочернего класса, а деструктор базового класса не вызывался?
  • Вопрос задан
  • 270 просмотров
Подписаться 1 Средний 5 комментариев
Ответ пользователя res2001 К ответам на вопрос (2)
@res2001
Developer, ex-admin
Никак. Когда работает деструктор базового класса объект наследник уже не существует.
Так что "чистите" наследник в деструкторе наследника, а базовый класс в деструкторе базового класса.
Вот старинная статья на хабре, но, на сколько я знаю, и сейчас все работает так.
Ответ написан
Комментировать