Запитання з тегом «virtual-destructor»

17
Коли використовувати віртуальні деструктори?
Я чітко розумію більшість теорій OO, але одне, що мене дуже бентежить, - це віртуальні деструктори. Я думав, що деструктора завжди викликають незалежно від того, що стосується кожного предмета ланцюга. Коли ви повинні зробити їх віртуальними і чому?

7
Чому я повинен оголошувати віртуальний деструктор для абстрактного класу в C ++?
Я знаю, що декларувати віртуальні деструктори для базових класів у C ++ є хорошою практикою, але чи завжди важливо оголошувати virtualдеструктори навіть для абстрактних класів, які функціонують як інтерфейси? Наведіть, будь ласка, кілька причин та прикладів.


5
Чи успадковуються віртуальні деструктори?
Якщо у мене є базовий клас з віртуальним деструктором. Чи має похідний клас для оголошення віртуального деструктора? class base { public: virtual ~base () {} }; class derived : base { public: virtual ~derived () {} // 1) ~derived () {} // 2) }; Конкретні питання: Чи однакові 1) та …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.