![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Launcher |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 3.7.2002 Репутация: нет Всего: нет |
У меня есть 2 файла срр. Как сделать, чтобы в одном файле можно было записывать в переменную, а в другом ее читать. Ну короче как сделать обмен переменными?
|
|||
|
||||
Blade |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 99 Регистрация: 8.7.2002 Репутация: нет Всего: нет |
Да как бы, это само сабой должно выполняться, если файлы входят в один проект, а переменные являются глобыльными.
![]() |
|||
|
||||
FdX |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 13.8.2002 Репутация: нет Всего: нет |
Вопрос не совсем корректен, но понятен.
Если проще, то к .срр файлам должны быть .h файлы. В начале каждого .срр файла пишешь
в одном из .h файлов объявляешь общую переменную, а в соотвтствующем .срр файле её определяешь (или просто объявляешь) После ентого переменная будет видна в обоих .срр файлах. Простейший способ. Можно конечно и умнее вроде, но это не нужно. Если че напутал - извините, немного выпил ![]() |
|||
|
||||
Launcher |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 3.7.2002 Репутация: нет Всего: нет |
Мне нужно, чтобы и данные сохранялись. А получается, что в одном файле я записываю в переменную, а ничего нельзя прочитать в другом файле.
|
|||
|
||||
bavc |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 14.8.2002 Репутация: нет Всего: нет |
По моему есть такая фишка
extern .... //переменная (функция что угодно) static .... .тоже должно работать |
|||
|
||||
suborg |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 190 Регистрация: 29.4.2002 Где: Москва Репутация: нет Всего: нет |
[i.cpp]
int i; [i.h] extern int i; [module1.cpp] #include "i.h" [module2.cpp] #include "i.h" ....... |
|||
|
||||
bavc |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 14.8.2002 Репутация: нет Всего: нет |
Да вроде бы так
Только в [i.cpp] объявлять i не надо а прямо ссылаться на уже объявленную и вообще нужен ли i.cpp но можно и с модификатором static еще надежней будет. |
|||
|
||||
suborg |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 190 Регистрация: 29.4.2002 Где: Москва Репутация: нет Всего: нет |
ну ведь хоть где-то объявить-то нужно
![]() Я просто так написал потому что когда пишешь серьезный проект, глобальные переменные лучше выносить по-моему в отдельный модуль чтобы в случае перепланирования архитектуры не потерять эти переменные вместе с каким ни будь модулем, ставшим не нужным или изменённым. |
|||
|
||||
bavc |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 14.8.2002 Репутация: нет Всего: нет |
Правильно все но для обявления о даже в некоторых случаях для реализации используются заголовка *.h например
в ООП: class Super { public: Super() { //Что хочешь } } sp; extern sp; |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |