переменную (объект класса) MyGlobal Global; нельзя назвать статической, т.к. не каждая функция класса статическая (их вообще нет).
Увы, в приведенном мною выше примере я чутка ошибся, в черновики лазил) Правильнее так:
-- myglobal.h ---
extern MyGlobal Global;
и
-- myapp.cpp ---
int main(int argc, char *argv[])
{
MyGlobal Global;
тогда если посмотрим вызовы конструкторов/деструкторов:
int main(int argc, char *argv[])
{
MyGlobal Global;
qDebug() << "main1";
QApplication a(argc, argv);
qDebug() << "main2";
Dialog w;
qDebug() << "main3";
w.show();
qDebug() << "main4";
return a.exec();
}
Это будет выглядеть так:
MyGlobal::MyGlobal
main1
main2
Dialog::Dialog
main3
main4
Dialog::~Dialog
MyGlobal::~MyGlobal