Перегрузка функций в C++

22 комментария

Перегрузка функций в 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

Подождите, загружаются комментарии...

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

Если у вас есть вопросы по содержанию статьи, рекомендуем вам обратиться за помощью на наш форум.