Перегрузка функций в C++ используется, когда нужно сделать одно и то же действие с разными типами данных. Для примера, создадим простую функцию max
, которая будет определять максимальное из двух целых чисел.
/* Функция max для целых чисел */
int max(int num1, int num2)
{
if (num1 > num2)
return num1;
return num2;
}
В эту функцию мы можем передавать только целочисленные параметры. Для того, чтобы сделать аналог этой функции для чисел с плавающей запятой, выполним перегрузку этой функции:
/* Функция max для чисел с плавающей запятой */
double max(double num1, double num2)
{
if (num1 > num2)
return num1;
return num2;
}
Теперь, когда мы будет вызывать функцию max
с целыми параметрами, то вызовется первая функция. А если с дробными — то вторая. Например:
// Здесь будет использоваться первый вариант функции max
int imax = max(1, 10);
// А здесь - второй
double dmax = max(1.0, 20.0);
Задание: попробуйте написать функцию сортировки массива пузырьком для целочисленных массивов. А затем перегрузить эту же функцию для массивов типа double
.
Исходный код примера из урока.
Следующий урок — перегрузка методов класса в C++.
Комментарии к статье: 22
Возможность комментировать эту статью отключена автором. Возможно, во всем виновата её провокационная тематика или большое обилие флейма от предыдущих комментаторов.
Если у вас есть вопросы по содержанию статьи, рекомендуем вам обратиться за помощью на наш форум.