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

Перегрузка - это возможность поддерживать несколько функций с одним названием, но разными сигнатурами вызова.

Причина появления термина:

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


Пример:
double sqrt ( double x ); //Функция корня для чисел с плавающей точкой
int sqrt ( int x ); //Функция корня для целых чисел
...
sqrt(1.5); //В этом случае вызовется функция чисел с плавающей точкой
sqrt(7); //А в этом уже для целых чисел
Компилятор сам определяет какую функцию выбрать в зависимости от сигнатуры.
Comments