Функция — это именованная последовательность описаний и операторов, выполняющая какое-либо законченное действие.
Любая программа на C++ состоит из функций, одна из которых должна иметь имя main (с нее начинается выполнение программы). Функция начинает выполняться в момент вызова. Любая функция должна быть объявлена и определена. Объявление функции должно находиться в тексте раньше ее вызова для того, чтобы компилятор мог осуществить проверку правильности вызова.
Структура программы с использованием функций:
#include подключение библ. файлов
объявление функции
int main()
{
объявление локальных переменных
…
вызов функции
…
}
определение функции
Объявление функции (прототип, заголовок, сигнатура) задает ее имя, тип возвращаемого значения и список передаваемых параметров.
тип имя ([ список_параметров ]);
Определение функциисодержит, кроме объявления, тело функции, представляющее собой последовательность операторов и описаний в фигурных скобках:
тип имя ([ список_паранетров ])
{ тело функции:
1) объявление локальных переменных
2) операторы
3) return [выражение]
}
Рассмотрим составные части определения.
- Тип возвращаемого функцией значения может быть любым. Если функция не должна возвращать значение, указывается тип void.
- Список параметров определяет величины, которые требуется передать в функцию при ее вызове. Элементы списка параметров разделяются запятыми и для каждого параметра указывается его тип и имя. Функция также может не иметь параметров, тогда указываются просто пустые скобки ().
- return служит 1) для выхода из функции и 2)возврата значения в вызвавшую ее функцию. Если функция описана как void, выражение не указывается. Выражение, указанное после return, преобразуется к типу возвращаемого функцией значения и передается в точку вызова.
Для вызова функции необходимо указать ее имя, и в круглых скобках через запятую передать ей набор аргументов в соответствии с параметрами указанными в заголовке функции.
имя ( список аргументов);
Если тип возвращаемого функцией значения не void, она может входить в состав выражений или, в частном случае, располагаться в правой части оператора присваивания.
В определении, в объявлении и при вызове одной и той же функции типы и порядок следования параметров должны совпадать..
Пример №1 Написать программу для вычисления числа вычитаний
#include <iostream.h>
int fact(int ); // объявление функции
int main()
{
int n, m,c;
cin >>n;
cin >>m;
cout <<”C=”<< fact(n)/(fact(m)*fact(n-m)); // вызов функции