Всем доброго времени.
Нужно сделать некий шаблонный класс, отнасдедованный или от QCoreApplication, или от QApplication.
По-быстрому я бы сделал это так:
C++ (Qt)
class MyCoreApp : public QCoreApplication
{
public:
MyCoreApp(int &argc, char **argv)
: QCoreApplication(int &argc, char **argv)
{
// здесь нужно переопределить message handler
qInstallMessageHandler(foo);
}
}
class MyGuiApp : public QApplication
{
public:
MyGuiApp (int &argc, char **argv)
: QApplication(int &argc, char **argv)
{
// здесь нужно переопределить message handler
qInstallMessageHandler(foo);
}
}
использование:
C++ (Qt)
int main(int &argc, char **argv)
{
MyCoreApp app(argc, argv); // ну, или MyGuiApp
return app.exec();
}
Но мне хотелось бы сделать како-то это на шаблонах чтобы можно было использовать так:
C++ (Qt)
int main(int &argc, char **argv)
{
MyApp<QCoreApplication> app(argc, argv); // ну, или MyApp<QApplication>
return app.exec();
}
Реализую шаблон как-то так:
C++ (Qt)
template <typename Application>
class MyApplication : public Application
{
public:
explicit MyApplication (int &argc, char **argv)
: Application(argc, argv)
{
qInstallMessageHandler(foo);
}
};
но что-то оно не работает..
Признаюсь, я в шаблонах ни-бум-бум.. Помогите, чем можете!