Перегрузка функций
Часть раздела Основы путешествия по C++ на Coddy — урок 54 из 74.
Перегрузка функций — это возможность в C++, при которой две или более функции могут иметь одинаковое имя, но разные параметры. При вызове перегруженной функции компилятор C++ определяет наиболее подходящее определение для использования, сравнивая типы аргументов, использованных в вызове, с типами параметров, указанными в определениях. Если подходящая функция не найдена, компилятор выдаст ошибку.
Вот пример перегрузки функций:
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
int main() {
int sum1 = add(5, 3); // Вызывает первую версию add
double sum2 = add(2.5, 3.7); // Вызывает вторую версию add
return 0;
}В этом примере у нас есть две функции с именем add. Одна принимает два параметра типа int, а другая — два параметра типа double. В зависимости от типов аргументов, которые мы передаем в add, вызывается соответствующая версия функции.
Важно отметить, что одного лишь типа возвращаемого значения недостаточно для перегрузки функции. Функции должны отличаться своими списками параметров.
Шпаргалка
Перегрузка функций позволяет создавать несколько функций с одним и тем же именем, но разными параметрами. Компилятор выбирает подходящую функцию на основе типов аргументов:
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
int main() {
int sum1 = add(5, 3); // Вызывает версию для int
double sum2 = add(2.5, 3.7); // Вызывает версию для double
return 0;
}Функции должны различаться списками параметров — одного лишь типа возвращаемого значения недостаточно для перегрузки.
Попробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияИнкремент и декрементПостфиксный инкремент и декрементСокращенные арифметические операцииОператоры сравненияСравнение строк7Основы ввода-вывода
Оператор coutОператор cinВвод строкПовторение — До 120Повторение — Истина или ложь3Переменные. Часть 2
Объявление типовСоглашения об именованииПовторение: инициализация переменныхПриведение типов. Часть 1Приведение типов. Часть 26Принятие решений
Оператор ifКонструкция if - elseОператор switchУсловный операторПовторение: if - elseВложенный if - else