Задать вопрос
xztau
@xztau
Я

Что будет, если переопределить деструктор в производном от QObject классе?

Насколько я знаю, класс QObject в Qt несёт в себе особенные функции слежения за объектами и сам их удаляет.
Мне нужно выполнить функцию при удалении объекта, поэтому я переопределил деструктор. Чем это грозит? Вообще в Qt можно делать свои деструкторы, зная, что объект сам следит за своими потомками?

class MyClass : public QObject
{
Q_OBJECT
public:
explicit MyClass(QObject *parent = nullptr);
~MyClass();
}
  • Вопрос задан
  • 341 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
zagayevskiy
@zagayevskiy
Android developer at Yandex
Думаю, qt не идиоты писали, и там, таки, виртуальный деструктор, как и положено у классов, предназначенных для наследования. Всё будет нормально.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Nipheris
@Nipheris Куратор тега C++
Мне нужно выполнить функцию при удалении объекта, поэтому я переопределил деструктор.

Почему вы решили, что деструктор базового класса, т.е. поведение, которое отработало бы без вашего переопределения, НЕ будет вызван?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы