Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Формальный параметр, вызываемый по ссылке, сначала обозначает локальную копию ссылки, полученную в результате вычисления соответствующего фактического параметра. Вычисление производится в момент обращения к процедуре или в момент порождения объекта.
Формальный параметр типа ссылки есть локальная переменная, получающая начальное значение в результате присваивания ссылок
ФО:— ФА;
где ФО есть формальный параметр, а ФА есть ссылка, полученная в результате вычисления фактического параметра. Поскольку в этом случае параметр является переменной ссылочного типа, его содержимое можно изменить присваиванием ссылок внутри тела процедуры или класса. Строка не является допустимым фактическим параметром для текстового параметра, вызываемого по ссылке.
Хотя идентификаторы массивов, процедур, меток и переключателей не обозначают ссылок на значения, имеется полпая аналогия между ссылками в строгом смысле слова и ссылками на массивы, процедуры (т. е. декларации процедур), точки программы и переключатели. Поэтому вызов по ссылке определен и для этих случаев.
Параметр-массив, параметр-процедура, параметр-метка или параметр-переключатель, вызываемый по ссылке, нельзя изменить внутри тела процедуры или класса. Таким образом, параметр указанного вида ссылается на одно и то же во всей своей области действия. Однако содержимое массива, вызываемого по ссылке, вполне может быть изменено соответствующими присваиваниями его элементам.
Для параметра-массива, вызываемого по ссылке, тип фактического параметра должен совпадать с типом формальной спецификации. Для параметра-процедуры, вызываемого по ссылке; тип фактического параметра должен совпадать с типом формальной спецификации или подчиняться ему.
Дата публикования: 2015-01-23; Прочитано: 165 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!