Russian Qt Forum

Qt => Общие вопросы => Тема начата: cresta от Марта 19, 2009, 14:42



Название: Глобальные переменные
Отправлено: cresta от Марта 19, 2009, 14:42
Как прикрутить к проекту модуль с глобальными переменными?

БЕЗ НОВОГО КЛАССА

Просто инклюдить в файлах проекта файл globals.h не получается: переменные, указанные в этом хидере, почему-то автоматом оказываются уже инициализированными во всех остальных модулях проекта. Соответственно куча redefinition'ов

Т.е. нужен файл, где хранились бы ссылки на объекты, которыми пользуются все модули проекта: шрифты, цвета, палитры, списки, строковые константы и т.п.
Чтобы все объекты инициализировать в main.cpp, а затем по мере необходимости обращаться к этим объектам из других модулей проекта через ссылки в globals.h


Такое возможно в принципе?


Название: Re: Глобальные переменные
Отправлено: BRE от Марта 19, 2009, 14:44
Как прикрутить к проекту модуль с глобальными переменными?

defs.h
Код
C++ (Qt)
#ifndef DEFS_H
#define DEFS_H
 
extern int var1;
extern QString var2;
 
#endif
 

defs.cpp
Код
C++ (Qt)
int var1;
QString var2;
 



Название: Re: Глобальные переменные
Отправлено: cresta от Марта 19, 2009, 14:58
значит, кроме .h ещё .cpp нужен.
Спасибо.


Название: Re: Глобальные переменные
Отправлено: Sergey B. от Марта 20, 2009, 13:04
Иначе компилятор будет писать, что переменные с одним и тем же именем но в разных файлах, где будет инклудится *.H