C++ для начинающих: Функции — Урок 15

Функции являются фундаментальным элементом программирования на C++. Этот урок посвящен созданию собственных функций, их использованию и особенностям работы с ними. Мы уже сталкивались с функциями, такими как get (для считывания пользовательского ввода) и main (главная функция программы). Теперь настало время научиться создавать свои.

Что такое функция?

Функция – это блок кода, предназначенный для выполнения определенной задачи. Использование функций позволяет избежать дублирования кода и делает программу более модульной и читаемой. Если в программе многократно повторяется один и тот же фрагмент кода, его следует вынести в отдельную функцию. Функция может принимать параметры (аргументы) и возвращать результат, или же просто выполнять какие-либо действия. Например, функция возведения числа в квадрат – это готовый инструмент, который мы можем использовать, не задумываясь о его внутренней реализации.

Создание функции

Функции в C++ не могут быть созданы внутри других функций. Их объявление должно находиться вне функции main. Для создания функции необходимо указать:

  • Тип возвращаемого значения: Если функция ничего не возвращает, используется ключевое слово void. В противном случае указывается тип данных, который функция возвращает (например, int, float, double и т.д.).
  • Имя функции: Имя должно быть осмысленным и отражать назначение функции.
  • Параметры (аргументы): Передаются в круглых скобках. Каждый параметр описывается типом данных и именем.
  • Тело функции: Блок кода, заключенный в фигурные скобки {}, который выполняет действия функции.

Пример функции print, которая выводит на экран переданный ей параметр:

void print(int param) {
  std::cout << param << std::endl;
}

Вызов этой функции осуществляется следующим образом:

print(234); // Выведет 234 на экран

Функции с возвращаемым значением

Функции могут возвращать значения. Для этого используется ключевое слово return. Рассмотрим функцию sum, которая суммирует два числа типа float и возвращает результат:

float sum(float x, float y) {
  float result = x + y;
  return result;
}

Переменные, объявленные внутри функции, являются локальными и не доступны извне функции. Например, переменная result в функции sum доступна только внутри этой функции. Глобальные переменные, объявленные вне функций, доступны во всех частях программы.

Пример вызова функции sum:

float a = 23.23;
float b = 50.41;
float result = sum(a, b);
std::cout << result << std::endl; // Выведет сумму a и b

Прототипы функций

Если функция объявлена после функции main, необходимо использовать прототипы функций. Прототип – это объявление функции без её тела, заканчивающееся точкой с запятой. Он позволяет компилятору знать о существовании функции до её фактического определения.

Пример прототипа функции print:

void print(int param);

Пример прототипа функции sum:

float sum(float x, float y);

Рекурсия

Функция может вызывать саму себя – это называется рекурсией. Функция не может напрямую вызывать другие функции, объявленные после нее, без использования прототипов.

Функции являются мощным инструментом в C++, позволяющим структурировать код, избегать повторов и улучшать читаемость программы. Правильное использование функций – залог создания эффективного и поддерживаемого кода. Вынос повторяющегося кода в отдельные функции – хорошая практика программирования.

Что будем искать? Например,программа