Stack Overflow на русском Asked by Slav9n92 on December 27, 2020
Всем привет. Ни для кого не секрет, что в чистых плюсах объекты уничтожаются в обратном порядке созданию.
Если у нас есть базовый класс А и производный от него В, то при создании класса В – сначала инициализируется конструктор базового класса, а потом производного. При уничтожении класса В сначала уничтожится класс В потом базовый.
Меня интересует порядок уничтожения в Qt при наследовании и объявлении parent
допустим у нас есть код
заголовочник
class list : public QAbstractListModel
{
...
explicit list( QObject* parent ) noexcept;
...
}
сипипишник
...
list::list( QObject* parent ) noexcept
: QAbstractListModel( parent )
{
}
...
и так, где то мы создаем наш list
list* list = new list( some_parent );
сначала будет создан базовый класс, потом наследник.
Когда объекты начнут уничтожатся наш лист будет уничтожен благодаря parent который мы указали в аргументах конструктора. Правильно ли я понимаю, что порядок уничтожения будет прямой, сначала базовый класс, а потом уже производный( так как parent передан базовому классу )?
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP