ПРОГРАММА МОЖЕТ ПЕРЕДАВАТЬ ИНФОРМАЦИЮ В ФУНКЦИИ
Для увеличения потенциальных возможностей ваших функций C++ позволяет программам передавать информацию (параметры) в функции. Если функция использует параметры, вы должны сообщить C++ тип каждого параметра, например int, float, char и т.д. Следующая функция show_number использует параметр типа int.
void show_number (int value)
{
cout "Значение параметра равно " value endl;
}
Если ваша программа вызывает функцию show_number, она должна передать ей значение, как показано ниже:
show_number (/u>); //---------------- Значение, передаваемое в функцию
C++ будет подставлять переданное число вместо каждого имени параметра value внутри функции:
show_number (1001)
void show_number (int value)
{
cout "Значение параметра равно " value endl;
}
void show_number (1001)
{
cout "Значение параметра равно " 1001 endl;
}
Как видите, поскольку C++ замещает значение параметра, функция show_number выводит число 1001, переданное ей главной программой.
Следующая программа USEPARAM.CPP использует функцию show_number несколько раз, каждый раз передавая разные числа:
#include iostream.h
void show_number (int value)
{
cout "Значение параметра равно " value endl;
}
void main (void)
{
show_number (1);
show_number (1001);
show_number (-532);
}
Если вы откомпилируете и запустите эту программу, на вашем экране будет отображено следующее:
С: \USEPARAM ENTER
Значение параметра равно 1
Значение параметра равно 1001
Значение параметра равно -532
Как видите, каждый раз, когда программа вызывает функцию, C++ присваивает передаваемое число переменной value. Найдите время для эксперимента с этой программой, изменяя значения, которые main передает в функцию, и обращая внимание на результат.
Каждый параметр функции имеет определенный тип. В случае функции show_number параметр value должен быть типа int. Если вы попытаетесь передать в функцию значение другого типа, например с плавающей точкой, компилятор будет сообщать об ошибке. В большинстве случаев ваши программы будут передавать несколько значений в функцию. Для каждого передаваемого параметра функция должна указать имя и тип. Например, следующая программа BIGSMALL.CPP использует функцию show_big_and_little для вывода самого большого и самого маленького из трех полученных целочисленных значений:
#include iostream.h
void show_big_and_little (int a, int b, int c)
{
int small = a;
int big = a;
if (b big)
big = b;
if (b small)
small = b;
if (c big)
big = c;
if (c small)
small = c;
cout "Самое большое значение равно " big endl;
cout "Самое маленькое значение равно " small endl;
}
void main (void)
{
show_big_and_little (1, 2, 3);
show_big_and_little (500, 0, -500);
show_big_and_little (1001, 1001, 1001);
}
Если вы откомпилируете и запустите эту программу, на вашем экране появится следующий вывод:
С: \ BIGSMALL ENTER
Самое большое значение равно 3
Самое маленькое значение равно 1
Самое большое значение равно 500
Самое маленькое значение равно -500
Самое большое значение равно 1001
Самое маленькое значение равно 1001
Наконец, следующая программа SHOW_EMP.CPP использует функцию show_employee для вывода возраста (тип int) и оклада (тип float) служащего:
#Include iostream.h
void show_employee (int age, float salary)
{
cout "Возраст служащего " age " года (лет)" endl;
cout "Служащий получает $" salary endl;
}
void main (void)
{
show_employee (32, 25000.00);
}
Как видите, функция show_employee определяет параметры типа int и float
Передача параметров в функцию
Если ваша функция использует параметры, она должна указать уникальное имя и тип для каждого параметра. Когда программа вызывает функцию, C++ присваивает значения параметров именам параметров функции слева направо. Каждый параметр функции имеет определенный тип, например int, float или char. Значения, которые ваша программа передает в функцию, используя параметры, должны соответствовать типу параметров.