Функции позволяют заранее описать некоторую последовательность действий и впоследствии обращаться к ней неограниченное количество раз из любого места программы. Функции применяют для разделения программы на осмысленные части, потому что с частью программы работать проще чем со всей программой сразу.
Функции бывают двух видов:
- Функции, которые не возвращают значения:
1 2 3 4 |
void <имя функции>(<параметры функции>) { <тело функции> } |
- Функции, которые возвращают значения:
1 2 3 4 5 |
<возвращаемый тип данных> <имя функции>(<параметры функции>) { <тело функции> return <возвращаемое значение>; } |
В первом случае функция выполняет заданную последовательность действий, эти действия и будут результатом работы. Во втором случае функция возвращает значение и его можно записать в переменную в основной программе.
В программе, приведённой ниже, предлагается ввести радиус окружности и она вычислит её площадь. Часть программы, проводящая математические вычисления, отделена от остальных операций и помещена в функцию my_function.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#include <iostream.h> // подключаем команды ввода/вывода #include <conio.h> // подключаем команду getch //заголовок функции, в котором определён тип возвращаемого значения, название функции, и параметр функции, который передаётся из основной программы float my_function (float radius) { float square; // объявляем вещественную переменную площади square = 3.14159 * radius * radius; // вычисляется площадь по заданному радиусу return square; // возвращается значение площади } // основная программа int main() { float value; // объявляется переменная, в которую пользователь введёт радиус окружности float result; // объявляется вещественная переменная, в которую запишется результат cout << "Enter the radius of the circle: "; // выводится сообщение о вводе радиуса cin >> value; // пользователь вводит радиус окружности result = my_function (value); // обращение к функции, в неё передается введенное значение радиуса value, а результат функции записывается в переменную result cout << "Square of circle = " << result; // вывод результата на экран getch(); // результат программы будет находиться на экране пока пользователь не нажмёт любую клавишу return 0; } |
В функцию передаются параметры функции.