QT---QMainWindow初始化顺序

it2026-04-16  2

C++:

构造:先子类以及成员,再父类以及成员;

析构的顺序就是构造顺序的逆序。就是先析构父类,再析构子类。先析构本类,再析构本类的成员。

QT:

(1)控件类-->控件提升类-->QMainWindow类。

(2)子窗体的构造函数中初始化了父窗体的parent,当关闭子窗体时不会调用析构函数,只有关闭父窗体时,才会调用子窗体的析构函数。如果自己控制,则再子窗口构造函数中加入:setAttribute(Qt::WA_DeleteOnClose);

(3)如果子窗体传入了父指针的话,就不要自己close(),否则会在退出时出现析构时异常;

话外:对象的拷贝:

一个对象以值传递的方式传入函数体 ; 一个对象以值传递的方式从函数返回 ; 一个对象需要通过另外一个对象进行初始化。

最新回复(0)