Справочное руководство по языку Ада-83


Описания личных типов и субконстант - часть 7


Полное описание субконстанты заданного личного типа не должно встречаться до соответствующего полного описания типа. Это является следствием правил, определяющих допустимые использования имени, обозначающего личный тип (см. 7.4.1).

Ссыпки:

видимый раздел 7.2, выражение по умолчанию для дискриминанта 3.7.1, идентификатор 2.3, именуемая компонента 3.7, личный раздел 7.2, обозначение типа 3.3.2, описание константы 3.2.1, описание объекта 3.2.1, описание субконстанты 7.4, пакет 7, Предвыполнение не дает другого эффекта 3.1, согласованный 6.3.1, спецификация пакета 7.1, субконстанта 7.4, формальный параметр 6.1, формальный параметр настройки 12.1, 12.3, элемент описания 3.9.

7.4.4. ЛИМИТИРУЕМЫЕ ТИПЫ

Лимитируемый тип — это тип, для которого

неявным

описанием не вводится ни присваивание, ни сравнение на равенство и неравенство.

Описание личного типа с зарезервированным словом

limited

описывает лимитируемый тип. Задачный тип является лимитируемым типом. Производный тип от лимитируемого типа сам является лимитируемым типом. Наконец, составной тип является лимитируемым, если тип одной из его компонент является лимитируемым.

Над личным лимитируемым типом определены операции, которые даны в разд. 7.4.2, за исключением присваивания и предопределенного сравнения на равенство и неравенство.

Вид

out

допустим для формального параметра лимитируемого типа, описанного явно, только в том случае, если этот тип является личным лимитируемым типом, а описание подпрограммы находится в видимом разделе пакета, где описан и личный тип. То же самое относится к формальным параметрам описаний входов и описаний настраиваемых процедур. Соответствующий полный тип не должен быть лимитируемым, если любой такой формальный параметр имеет вид

out.

В противном случае в качестве соответствующего полного типа допускается (но не требуется) лимитируемый тип (в частности, допустив^задачный тип). Если полный тип, соответствующий лимитируемому личному типу, сам не является лимитируемым, то для этого типа в пакете (но не вне его) допустимо присваивание.




Начало  Назад  Вперед



Книжный магазин