Russian Qt Forum

Программирование => С/C++ => Тема начата: kuzulis от Июль 25, 2014, 11:51



Название: [Решено]Сделать шаблонный класс MyApplication
Отправлено: kuzulis от Июль 25, 2014, 11:51
Всем доброго времени.

Нужно сделать некий шаблонный класс, отнасдедованный или от 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);
   }
};
 

но что-то оно не работает..

Признаюсь, я в шаблонах ни-бум-бум.. Помогите, чем можете!  :)


Название: Re: Сделать шаблонный класс MyApplication
Отправлено: kuzulis от Июль 25, 2014, 11:55
Ах, все работает, сорри, мои косяки.. :)