Ада-95. Компилятор GNAT

         

Вложенные записи


Бывают случаи, когда компонент записи сам является записью, или, говоря иначе, требуется использование вложенных записей. Например:

type Point is record

X : Integer; Y : Integer; end record

type Rect is record

Left_Hight_Corner : Point; Right_Low_Corner : Point; end record

P : Point := (100, 100); R : Rect;

В этом случае, доступ к полям переменной R типа Rect

может быть выполнен следующим образом:

R.Left_Hight_Corner.X := 0; R.Left_Hight_Corner.Y := 0;

R.Right_Low_Corner := P;

Для указания всех значений можно использовать агрегаты.

R_1 : Rect := ( (0, 0), (100, 100) ); R_2 : Rect := ( Left_Hight_Corner => (Y => 0, X => 0), Right_Low_Corner => (100, 100) );

Как видно из приведенных примеров, здесь используются вложенные агрегаты.



Содержание раздела