Назад к задачам
Junior — Senior
6

Сгенерировать ситуацию, вызывающую неопределённое поведение при удалении через базовый указатель

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Необходимо показать пример, когда объект производного класса удаляется через указатель на абстрактный базовый класс, у которого деструктор не объявлен виртуальным. В таком случае происходит неопределённое поведение или выбрасывается исключение.

struct A {
    virtual void foo() = 0;
    // деструктор не виртуальный
};

struct B : A {
    ~B(); // должен быть вызван корректно
};