Float average_value(int, int); // Прототип функции
int main()
{
cout << "Value=" << average_value(2000, 1) << endl;
cin.get();
}
float average_value (int a, int b)
{
return((a + b) / 2.0);
}
highlightSyntax('cpp_26600','cpp'); Программа вызывает функцию average_value до того, как функция определена. Таким образом, программа использует прототип функции, который предваряет определение main. Если удалить прототип функции и откомпилировать программу, компилятор C++ сообщит о синтаксических ошибках.
highlightSyntax('cpp_12648','cpp');
6.2.3. Вызов функции.
Программы выполняют операторы функций посредством вызова функции. Для вызова функции программы обращаются к имени функции, за которым следуют круглые скобки:
function_name();
Если программа передает параметры в функцию, она размещает эту информацию внутри круглых скобок, разделяя ее запятыми:
paroll(employee_name, employee_id);
После того как последний оператор функции завершен, выполнение программы продолжается с первого оператора следующего за вызовом функции.
Для увеличения потенциальных возможностей функций C++ позволяет программам передавать параметры в функции. Если функция использует параметры, необходимо сообщить тип каждого параметра.
highlightSyntax('cpp_63689','cpp'); Если ваша программа вызывает функцию show_number, она должна передать ей значение. (Primer 3 лекция 6).
#include <iostream>
using namespace std;
void show_number (int value)
{
cout << "Value=" << value << endl;
}
int main ()
{
show_number (1);
show_number (1001);
show_number (-532);
cin.get();
}
highlightSyntax('cpp_13555','cpp'); Cледующая программа использует функцию show_employee для вывода возраста (тип int) и оклада (тип float). (Primer 4 лекция 6).
#include <iostream>
using namespace std;
void show_employee (int age, float salary)
{
cout << "Age=" << age << " year" << endl;
cout << "Salary=" << salary << endl;
cin.get();
}
int main ()
{
show_employee (32, 25000.00);
} highlightSyntax('cpp_15413','cpp');
Когда функция возвращает значение, необходимо сообщить тип значения,
( int, float, char). Чтобы определить тип возвращаемого функцией значения, поставьте перед именем функции соответствующий тип.
highlightSyntax('cpp_14753','cpp'); Когда функция встречает оператор return, она возвращает заданное значение и завершает выполнение функции, возвращая управление вызвавшей программе.
int add_values (int a, int b)
{
return (a+ b);
}
highlightSyntax('cpp_97209','cpp'); Не все функции возвращают значение типа int.
float average_value(int a, int b)
{
return( (a + b) / 2.0);
}
highlightSyntax('cpp_74798','cpp'); float, которое предшествует имени функции, указывает тип возвращаемого функцией значения. Операторы в функции после оператора return не выполняются.
Когда функция возвращает значение, вызвавшая программа может присвоить возвращенное значение переменной, используя оператор присваивания:
payroll_amount = payroll (employee, hours, salary);
highlightSyntax('cpp_53037','cpp'); Вызвавшая программа может обращаться к функции, используя cout.
cout << " Salary=" << payroll(employee, hours, salary) < < endl;
highlightSyntax('cpp_43492','cpp'); Вызвавшая функция может использовать возвращаемое значение в условии:
if (payroll(employee, hours, salary) < 500.00)
cout << "Salary low" << endl;