xztau
@xztau
Я

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

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

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

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

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

Войти через TM ID
Похожие вопросы
17 авг. 2018, в 17:10
15000 руб./за проект
17 авг. 2018, в 16:58
60000 руб./за проект
17 авг. 2018, в 16:55
10000 руб./за проект