Перегрузка процедур и функций в Паскаль
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
- 5737 reads