Доступ к объявленным в модуле Паскаля объектам

Пусть, например, мы создаем модуль Паскаля, реализующий сложение и вычитание комплексных чисел с помощью процедур:

Пример модуля реализующий сложение и вычитание комплексных чисел

Unit complexn;

Interface

type

complex= record

re, im: real;

end;

procedure AddC (x, y: complex; var z: complex);

procedure SubC (x, y: complex; var z: complex);

const c: complex= (re: 0.1; im: -1);

implementation

procedure AddC;

begin

z.re:= x.re + y.re;

z.im:= x.im + y.im;

end; {AddC}

procedure SubC;

begin

z.re:= x.re - y.re;

z.im:= x.im - y.im;

end; {SubC}

end.

Текст этого модуля следует поместить в файл complexn. pas. Вы можете его откомпилировать, создав TPU -файл.

В следующей программе осуществляются арифметические операции над комплексными числами:

Арифметические операции над комплексными числами

Program lab8;

Uses complexn;

Var

a,b,c: coplex;

begin

a.re:= 1; a.im:= 1;

b.re:= 1; b.im:= 2;

AddC(a, b, c);

Writeln (‘ сложение:’, c.re: 5:1, c.im: 5:1, ‘i’);

SubC (a, b, c);

Writeln (‘ вычитание:’, c.re: 5:1, c.im: 5:1, ‘i’);

End.

После объявления Uses complexn программе стали доступны все объекты, объявленные в интерфейсной части модуля complexn. При необходимости можно переопределить любой из этих объектов, как произошло, например, с типизированной константой c, объявленной в модуле Паскаля. Переопределение объекта означает, что вновь объявленный объект «закрывает» ранее определенный в модуле одноименный объект. Чтобы получить доступ к «закрытому» объекту, нужно воспользоваться составным именем: перед именем объекта поставить имя модуля и точку. Например:

Writeln (complexn.c.re: 5: 1, complexn.c.im: 5: 1);

Этот оператор выведет на экран содержимое «закрытой» типизированной константы, объявленной в модуле Паскаля из предыдущего примера.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: