Russian Qt Forum
Ноябрь 23, 2024, 08:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено]Сделать шаблонный класс MyApplication  (Прочитано 2037 раз)
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« : Июль 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);
   }
};
 

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

Признаюсь, я в шаблонах ни-бум-бум.. Помогите, чем можете!  Улыбающийся
« Последнее редактирование: Июль 25, 2014, 11:55 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1 : Июль 25, 2014, 11:55 »

Ах, все работает, сорри, мои косяки.. Улыбающийся
Записан

ArchLinux x86_64 / Win10 64 bit
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.294 секунд. Запросов: 22.