Перегрузка процедур и функций в Паскаль
Primary tabs
Перегрузка процедур и функций в Паскаль осуществляется следующим образом:
- Если перегружают функцию, то:
- Создают несколько функций (хотя бы две) с одинаковыми именами, у которых обязательно отличаются типы и/или порядок входящих аргументов разного типа.
- Типы возвращаемых значений могут отличаться, а могут и нет.
- Если перегружает процедуру, то:
- Создают несколько процедур (хотя бы две) с одинаковыми именами, у которых обязательно отличаются типы и/или порядок входящих аргументов разного типа.
Таким образом, перегрузка процедур функций осуществляется за счёт изменения сигнатуры функции в части типов и порядка следования входящих аргументов.
Пример перегрузки функции и процедуру (использование общего имени для разных вариантов сигнатур):
var
a, b, c: integer; // глобальные переменные
function sum(x, y: integer): integer;
begin // начало тела функции
result := x + y; { результат для возврата наружу
(в глобальное пространство программы из локального пространства функции) }
writeln('function!');
end; // конец описания функции (её тела)
procedure sum(x, y: integer);
var result: integer;
begin
result := x + y;
write('procedure!');
// x := 5;
end;
procedure sum(x, y, z: integer);
var result: integer;
begin
result := x + y;
write('procedure!');
// x := 5;
end;
function sum(x: integer): integer;
begin
result := x;
writeln('function 2!');
end;
begin // начало тела основной программы
//readln(a, b);
a:=5; b:=7;
sum(a, b);
c := sum(a, b);
writeln(sum(a, b), sum(a), c);
b := sum(a, b, c);
sum(a);
readln();
end. // конец основной программы
- Log in to post comments
- 6151 reads