Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.08.2013, 14:40   #1
stas135642
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 39
По умолчанию Организация хранения переменных в Qt

Здравствуйте, уважаемые форумчане. У меня имеется два класса: MainWidget (QWidget) (самый верхний класс в моей иерархии) (mainwidget.h, mainwidget.cpp) и класс WidgetView (QGLWidget) (на нем я что-то рисую) (widgetview.h, widgetview.cpp). Указатель на WidgetView в свою очередь является членом класса MainWidget, инициализация которого происходит в конструкторе MainWidget с помощью new и конструктора самого WidgetView (при этом в качестве указателя на родителя передается указатель на MainWidget). Краткий экскурс на этом закончен... Вся проблема состоит в организации памяти переменных и структур. Я просто хочу все переменные и структуры загнать в MainWidget и иметь к ним доступ из других классов (у меня их будет еще как минимум 3). Но при этом здесь возникает своеобразная петля включений (в MainWidget я прописываю #include "widgetview.h", а в WidgetView #include "mainwidget.h"). Прошу помощи или совета в решении данного вопроса. Буду заранее признателен))
stas135642 вне форума Ответить с цитированием
Старый 15.08.2013, 18:49   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
петля включени
читай про форвард декларатионс.

Цитата:
Я просто хочу все переменные и структуры загнать в MainWidget и иметь к ним доступ из других классов
ты хочешь нарушить инкапсуляцию - это плохо.
Но ты можешь впихнуть в свой MainWidget геттеры и сеттеры, а чтобы удобно было к нему обращаться использовать синглетон - но и синглетон - плохой паттерн, которого надо избегать.

Твое " Я просто хочу" - не повод для говнокодинга, я считаю - хоти иначе.
rrrFer вне форума Ответить с цитированием
Старый 16.08.2013, 15:30   #3
Shad0wF1rst
Форумчанин
 
Регистрация: 11.01.2013
Сообщений: 149
По умолчанию

Тебе нужно просто правильно организовать все. Если твои структуры предназначены для конкретного класса, то в этот класс их и нужно включать. Но есть возможность создание хиддера в котором у тебя будут храниться все структуры, и можешь инклудить его туда куда тебе удобно без так называемой петли.
Может это и чушь, но это моя чушь и я ее никому не отдам.
Shad0wF1rst вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Организация программ с использованием процедур .использованием параметров-значений и параметров переменных Фрейтор 40-500 Помощь студентам 0 02.11.2012 21:58
Организация программ с использованием процедур .использованием параметров-значений и параметров переменных Фрейтор 40-500 Помощь студентам 6 02.11.2012 21:46
Можно ли задать глобальную переменную из функции или как-то напрямую использовать память для хранения переменных из функции? Suny-o Общие вопросы Delphi 2 14.06.2012 11:45
Организация списков с пом. динамических переменных Лилея Помощь студентам 1 21.05.2011 20:40
Хранения электронных документов John_chek БД в Delphi 5 24.05.2007 15:40