Функции в С++
Коды или команды в программе часто объединяются в так называемые функции. Например, группа команд, необходимых для чтения исходных данных, объединена в функцию readData(). Также для выполнения оставшихся подзадач обозначим функции sortData(), compactData() и ShowData().
Функция main()
В каждой С++ программе должна быть ровно одна функция с именем main(). Исполнение программы начинается с выполнения первой команды в функции main(), Затем последовательно одна за другой выполняются все дальнейшие команды, и, выполнив последнюю команду функции main(), программа завершает работу.
Любая функция состоит из четырех частей:
- Тип возвращаемого значения,
- Имени самой функции,
- Списка параметров функции (может быть пустой)
- Сам код функции.
Первые три части составляют прототип функции.
Список параметров заключается в круглые скобки и может содержать ноль или более параметров, разделенных запятыми. Тело функции содержит последовательность исполняемых инструкций и ограничено фигурными скобками.
Пример общего вида функции
void readData() { cout << "Считываем \n"; }
В нашем примере ниже тело функции main() содержит вызовы функций readData(), sortData(), compactData() и showData(). Последней выполняется инструкция return 0.
Инструкция return
Инструкция return обеспечивает механизм завершения работы функции. Если оператор return сопровождается некоторым значением (в данном примере 0), это значение становится возвращаемым значением функции. Возвращаемое значение 0 говорит об успешном выполнении функции. (В стандарте С++ функция main() возвращает 0 по умолчанию, если оператор return не указан явно.)
Определим наши функции readData(), sortData(), compactData() и showData():
void readData() { cout << "Считываем \n"; }
void sortData() { cout << "Сортируем\n"; }
void compactData() { cout << "Упаковываем\n"; }
void showData() { cout << "Выводим результат\n"; }
Тип void используется, чтобы обозначить функцию, которая не возвращает никакого значения. Наши функции не производят никаких полезных действий, они только выводят на экран сообщения о том, что они были вызваны. Впоследствии их можно заменить на реальные код, выполняющий нужные нам действия.
Листинг примера использования функций
#include<iostream>
void readData() { cout << "Считываем\n"; }
void sortData() { cout << "Сортируем\n"; }
void compactData() { cout << "Упаковываем\n"; }
void showData() { cout << "Выводим резульатат\n"; }
int main()
{
//выводим последовательно функции
readData();
sortData();
compactData();
showData();
return 0; //программа завершилась корректно
}
Работающий пример функций показан тут