Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Функции в C++: подробное объяснение с практическими примерами кода

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

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

Каждое C++-приложение содержит как минимум одну функцию: main(). Остальной код можно организовать в более мелкие, специализированные функции, что повышает читаемость и поддерживаемость.

Современный C++ предоставляет богатый набор встроенных функций в стандартной библиотеке. Их можно вызывать напрямую, не пиша реализацию самостоятельно.

В этом руководстве вы узнаете:

Зачем использовать функции?

Функции дают множество преимуществ:

Встроенные функции

Функции стандартной библиотеки предопределены и готовы к использованию. Вы просто вызываете их, не предоставляя реализацию.

Пример 1: Использование sqrt() из cmath

#include <iostream>
#include <cmath>
using namespace std;
int main() {
    double num, squareRoot;
    cout << "Введите число: ";
    cin >> num;
    squareRoot = sqrt(num);
    cout << "Квадратный корень из " << num << " равен: " << squareRoot;
    return 0;
}

Вывод:

Функции в C++: подробное объяснение с практическими примерами кода

Скриншот запущенной программы:

Функции в C++: подробное объяснение с практическими примерами кода

Разбор кода:

  1. Подключаем iostream для ввода/вывода.
  2. Подключаем cmath для доступа к sqrt().
  3. Используем пространство имён std, чтобы не писать префикс std::.
  4. Определяем функцию main(), где находится логика программы.
  5. Объявляем num и squareRoot как double.
  6. Запрашиваем у пользователя число.
  7. Считываем ввод в num.
  8. Вызываем sqrt() для вычисления квадратного корня.
  9. Выводим результат.
  10. Возвращаем 0, сигнализируя об успешном завершении.

Пользовательские функции

Разработчики могут создавать собственные функции для инкапсуляции логики, специфичной для их приложения.

Пример 2: Простая функция приветствия

#include <iostream>
using namespace std;
void sayHello() {
    cout << "Привет!";
}
int main() {
    sayHello();
    return 0;
}

Вывод:

Функции в C++: подробное объяснение с практическими примерами кода

Скриншот кода:

Функции в C++: подробное объяснение с практическими примерами кода

Пояснение:

  1. Подключаем iostream для консольного ввода/вывода.
  2. Вводим пространство имён std в область видимости.
  3. Определяем sayHello(), функцию, выводящую приветствие.
  4. Вызываем sayHello() из main().
  5. Возвращаем 0 для указания успешного завершения.

Объявление функции / прототип

Когда функция определена после main(), компилятору нужно заранее знать её сигнатуру. Прототип предоставляет эту информацию без тела функции.

Пример прототипа:

int addFunc(int, int);

Требуются только тип возвращаемого значения, имя функции и типы параметров; имена параметров необязательны.

Определение функции

В то время как прототип сообщает компилятору об интерфейсе функции, определение предоставляет исполняемое тело.

Пример определения:

int addFunc(int num1, int num2) {
    return num1 + num2;
}

Синтаксис

return_type function_name(parameter_list) {
    // тело функции
}

Ключевые компоненты:

Вызов функции

Для выполнения функции необходимо вызвать её по имени и передать требуемые аргументы.

Пример вызова:

int result = addFunc(3, 5);

Передача аргументов

Аргументы должны соответствовать списку параметров функции по количеству и типу. Несоответствие вызывает ошибку компиляции.

Значения параметров по умолчанию могут быть указаны, позволяя вызывающим сторонам опускать эти аргументы.

Пример 3: Сложение двух чисел с прототипом

#include <iostream>
using namespace std;
int addFunc(int, int); // прототип
int main() {
    int x, y, sum;
    cout << "Введите два числа: ";
    cin >> x >> y;
    sum = addFunc(x, y);
    cout << "Сумма " << x << " и " << y << " равна: " << sum;
    return 0;
}
int addFunc(int num1, int num2) {
    return num1 + num2;
}

Вывод:

Функции в C++: подробное объяснение с практическими примерами кода

Скриншот:

Функции в C++: подробное объяснение с практическими примерами кода

Пояснение:

  1. Подключаем необходимые заголовочные файлы и пространства имён.
  2. Объявляем прототип для addFunc().
  3. Считываем два целых числа от пользователя.
  4. Вызываем addFunc() с этими значениями и сохраняем результат.
  5. Выводим сумму.
  6. Определяем addFunc() после main(), предоставляя логику сложения двух параметров.

Итог

Язык C

  1. Цикл do-while в C++: синтаксис, примеры и вложенные циклы
  2. Указатели в C++: концепции, примеры и практические применения
  3. Тип данных char в C++: объявление, ASCII и методы преобразования
  4. Перегрузка операторов в C++: практическое руководство с примерами кода
  5. calloc() в C: выделение обнулённой памяти и практический пример
  6. Освоение лямбда-функций Python: практические примеры и лучшие практики
  7. Функция round() в Python: подробное объяснение с практическими примерами
  8. Освоение функции map() в Python: синтаксис, примеры и лучшие практики
  9. Мастерство функций в Verilog для эффективного RTL дизайна
  10. Функции в C: объявление, определение, вызов, аргументы (по значению и по ссылке), рекурсия