Перегрузка функций
Вы можете определить
в одной и той же области видимости
несколько процедур или функций с
одинаковыми именами, но различающихся
по числу или типу параметров. Если после
соответствующих объявлений поставить
ключевое слово overload, то при вызове
процедуры или функции с этим именем
компилятор проанализирует передаваемые
параметры, их число и тип и вызовет тот
метод, который подходит данным параметрам.
Например, вы можете определить следующие
функции:
function Divide(X, f: Real);
Real; overload;
begin
Result :=
X / Y;
end;
function
Divide(X, Y:
Integer): Integer; overload;
begin
Result :=
X div Y;
end;
Обе функции
объявлены как перегруженные с именем
Divide, но первая из них получает действительные
аргументы, а вторая — целые. Значит,
если будет записан вызов Divide(5, 3), будет
вызываться первая функция, а при вызове
Divide(5.0, 3.0) — вторая.