3
Предположим, у нас есть классКогда в классе есть виртуальная функция, тоже неявно созданный виртуальный деструктор?
class A
{
virtual void f();
};
Будет деструктор по умолчанию быть виртуальным?
Предположим, у нас есть классКогда в классе есть виртуальная функция, тоже неявно созданный виртуальный деструктор?
class A
{
virtual void f();
};
Будет деструктор по умолчанию быть виртуальным?
No. Деструктор всегда не virtual
, если вы явно не говорите, что это virtual
, или класс имеет базовый класс с деструктором virtual
.
Ну, я думаю, я только что обнаружил утечку памяти в моем коде тогда ... Спасибо за быстрый ответ! – user3496846
Это в духе «не платите за то, что вы не используете»? (т. е. он не должен быть виртуальным, если вы не наследуете, да, да, я знаю, что виртуальная функция будет указывать на это, но ...) – Borgleader
@Borgleader Yep. – Barry