Если вы хотите узнать, что такое отвлекающий фактор, нажмите здесь.

Удаление объекта производного класса с помощью указателя типа базового класса, который имеет не виртуальный деструктор, приводит к неопределенному поведению.

Чтобы исправить эту ситуацию, базовый класс должен быть определен с виртуальным деструктором.

Итак, без виртуального отвлекающего фактора. Посмотрите, что произойдет, когда мы создадим объект-указатель в функции main() Вот код:

Простая программа для дистрактора:-

Вывод этого кода:

Теперь давайте напишем такой код:

Здесь вы видите после удаления obj_PTRderived, если мы создадим Create Base *objPTR_base2 = new Derived(); и после этого, если мы удалим это так, удалите objPTR_base2;

Теперь вывод кода:

Здесь вы не видите вывода для «Вызван дистрактор производного». Это проблематично, поэтому как исправить этот ответ, очевидно, — виртуальный деструктор

Таким образом, фиксированный код

Вывод этого кода:

Вот и все. Спасибо, что прочитали.

Если вы свяжетесь со мной

Linkedin — https://www.linkedin.com/in/diganta-chaudhuri-8451251b6

Твиттер — https://twitter.com/Digantachaudhu2

Спасибо❤