Виртуальный деструктор
От: ksandro Мухосранск  
Дата: 06.12.16 15:35
Оценка:
Все мы знаем в каких случаях и почему деструктор базового класса должен быть виртуальным. Но вот про деструктор потомка обычно ничего конкретного не говорится. Однако в C++11 появилось ключевое слово override и возможность явно указать использование деволтного деструктора.

struct Parent
{
  virtual ~Parent()
  {
  }
    
};

struct Child: public Parent
{
  ~Child() override = default;
};


Насколько корректно с точки зрения стандарта использовать одновременно "override" и "=default", будет ли диструктор сгенерирован правильно в этом случае. И, если это корректно, можно ли считать, что именно так и желательно писать всегда, чтобы гарантировать что деструктор родителя виртуальный.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.