Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.85
arfaa
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 27
#1

Передача локальных переменных одной функции другой - C++

21.08.2012, 11:42. Просмотров 2737. Ответов 3
Метки нет (Все метки)

Добрый день, подскажите, как осуществить передачу локальных переменных получаемых в одной функции другой?Облазил гугл, ничего внятного кроме глобализации не нашел...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2012, 11:42     Передача локальных переменных одной функции другой
Посмотрите здесь:

C++ Передача элементов массива из одной функции в другую
Передача размерности массива как параметр из одной функции в другую. C++
C++ можно ли в с++ вызвать переменную из одной функции в другую т.е. мы переменну задали в одной функции а использовали в другой... и как это реализовать?
Передача массива из одной функции в другую, и сложение его элементов. C++
Передача массивов и параметров с одной функции в другую C++
Объясните синтаксис программы по полочкам с использованием локальных переменных и прототипа функции C++
Применение переменных одной функции в другой функции C++
C++ Передача переменных из функции в метод класса
Как создать вызов одной функции из другой? C++
C++ Неинициализация локальных переменных
Передача массива другой функции через указатель C++
C++ Передача переменной из одной функции в другую

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andsteadur
153 / 137 / 3
Регистрация: 23.05.2009
Сообщений: 275
21.08.2012, 11:53     Передача локальных переменных одной функции другой #2
Непонятно, что имеется ввиду. Если вызвать из функции1 функцию2, то тут никакой проблемы нет:
C++
1
2
3
4
5
6
7
8
9
10
11
void func2(int i, double d)
{
...
}
 
void func1()
{
int localInt;
double localDouble;
func2(localInt, localDouble);
}
Если же имеется ситуация когда в функции func3 вызывается func1, а потом func2, то нужно в func1 возвращать значения, которые нужно передать в func2 (или глобальные переменные использовать):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void func1(int& i, double& d)
{
//делаем что-нибудь, нужные значения заносим в i, d
 i = ...;
d =...;
}
 
void func2(int i, double d)
{
...
}
 
void func3()
{
...
int intgr;
double dbl;
func1(intgr, dbl);
func2(intgr, dbl);
...
}
arfaa
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 27
21.08.2012, 12:09  [ТС]     Передача локальных переменных одной функции другой #3
Есть две функции ф1 и ф2, ф1 считает необходимые значения,которые необходимо передать ф2(к примеру в ф1 наращивается i и j и эти i и j нужно передать в ф2, в которых есть формула a=j+i.При этом ф1 возвращает ретурном некое значение,но для других целей.
Andsteadur
153 / 137 / 3
Регистрация: 23.05.2009
Сообщений: 275
21.08.2012, 12:17     Передача локальных переменных одной функции другой #4
ну тогда возвращай значения в ф1 через параметры по ссылкам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int func1(int& f1_i, int& f1_j)
{
++f1_i;
++f1_j;
}
 
void func2(int f2_i, int f2_j)
{
a = f2_i + f2_j;
}
 
void func3()
{
...
int i;
int j;//инициализируем так как нужно
func1(i, j); //передаем по ссылкам
func2(i, j); //передаем по значению
...
}
Когда параметры передаются по ссылкам, то в функции мы имеем дело непосредственно с тем объектом, который был передан. Поэтому мы можем изменить значения, и они отобразятся вне функции. Если же передаем по значению, то передаваемый объект копируется, и в функции мы работаем с копией объекта, которая разрушается при выходе за границы функции.
Yandex
Объявления
21.08.2012, 12:17     Передача локальных переменных одной функции другой
Ответ Создать тему
Опции темы

Текущее время: 20:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru