Форум Фотогалерея Деловой мир Мелитополя
Мелитополь
Мелитопольский форум
 
 RSS  FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Как передавать данные между классами?

 
Начать новую тему   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Мелитополь -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Гость










СообщениеДобавлено: Вс Июл 31, 2005 17:50 pm    Заголовок сообщения: Как передавать данные между классами? Ответить с цитатой

Как в С++ (MFC) передавать между разными классами к примеру указатели или переменные?

Я нашел выход из положения путем создания одним классом темпового файла, складирования туда нужную инфу и чтения из этого файла другим классом (ну и ессно затем его прибиваю). Но это способ мне не очень нравится, не всегда его можно применить.

Заранее спасибо.
Вернуться к началу
Drey

Писатель


Пол: Пол: Он
Зарегистрирован: 12.03.2005
Сообщения: 295

Репутация: 100.2
голосов: 3

СообщениеДобавлено: Пн Авг 01, 2005 08:53 am    Заголовок сообщения: Ответить с цитатой

Привет, брат по нещастью Smile
Я тож как то раз при програмировании под MFC наткнулся на проблемку передачи данных между классами, решил проблемку путем создания глобальных переменных, просто в моем случае их(переменных которые нужно было передавать между классами) было не очень много, 5 штук примерно, именно поэтому вариант с глобальными переменными, ИМХО, наилучший вариант
З.Ы. Думаю ты знаеш как глобальные переменные прописывать Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
Гость










СообщениеДобавлено: Пн Авг 01, 2005 12:59 pm    Заголовок сообщения: Ответить с цитатой

У меня появилась мысль (ИМХО это сработает). у всех классов (в проекте) родителем является главное окно, может как нибудь через него доковыряться до нужных переменных можно?

но я толком не разобрался как это реализовать можно.
Вернуться к началу
Drey

Писатель


Пол: Пол: Он
Зарегистрирован: 12.03.2005
Сообщения: 295

Репутация: 100.2
голосов: 3

СообщениеДобавлено: Пн Авг 01, 2005 14:28 pm    Заголовок сообщения: Ответить с цитатой

Твой вариант кста тож неплох Smile
В этом случае необходимо в классе-родителе обьявить общедоступные переменные и уж через них работать, писать в них и читать из них соответственно.
А мой вариант просто более универсален, но всегда надо искать решение смотря на поставленную задачу Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
Гость










СообщениеДобавлено: Пн Авг 01, 2005 14:49 pm    Заголовок сообщения: Ответить с цитатой

раздуплился!

чтобы передавать данные между классами достаточно сделать:

Код:

#define PAR ((<класс главного окна>*)theApp.m_pMainWnd)
extern <класс приложения> theApp;


ну а дальше все как по маслу

Код:

PAR->CMyDlg::<varname>;


Последний раз редактировалось: Гость (Пн Авг 01, 2005 15:24 pm), всего редактировалось 1 раз
Вернуться к началу
Drey

Писатель


Пол: Пол: Он
Зарегистрирован: 12.03.2005
Сообщения: 295

Репутация: 100.2
голосов: 3

СообщениеДобавлено: Пн Авг 01, 2005 15:12 pm    Заголовок сообщения: Ответить с цитатой

Как говорится ларчик просто открывался Smile
Ну в этом случае у тя вышло нечто на подобие глобального обьявления .. вобщем то как я и говорил Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
Гость










СообщениеДобавлено: Пн Авг 01, 2005 15:25 pm    Заголовок сообщения: Ответить с цитатой

главное что работает Smile
простенько и со вкусом Smile
Вернуться к началу
Drey

Писатель


Пол: Пол: Он
Зарегистрирован: 12.03.2005
Сообщения: 295

Репутация: 100.2
голосов: 3

СообщениеДобавлено: Пн Авг 01, 2005 16:15 pm    Заголовок сообщения: Ответить с цитатой

ДА главное что просто, вобщем я закрываю тему поскольку ответ найден Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение  
Показать сообщения:   
Начать новую тему   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Мелитополь -> Программирование Часовой пояс: GMT + 2
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Р: 522360

База отдыха «Белый парус» пгт Кирилловка Азовское море.

Рейтинг Мелитопольских сайтов на Melitopol.org Hosting by VivaNET