Pascal ABC Язык Pascal ABC
Явное приведение типов
Некоторые типы не приводятся к другим неявно, однако такое преобразование имеет смысл. Например, переменную типа char можно преобразовать к значению типа byte, являющемуся кодом символа. Переменную типа integer, содержащую неотрицательное значение, можно преобразовать к интервальному типу, причем, это значение будет выступать номером элемента в порядковом типе.
Для преобразования выражения к новому типу используется конструкция
имя нового типа(выражение)
Например:
type
pinteger=^integer;
days=(mon,tue,wed,thi,fri,sat,sun);
var
p: pointer;
i: integer;
en: days;
...
p:=pinteger(@i);
i:=integer(en):
en:=days(3);
Следует обратить внимание на то, что для явного приведения типов необходимо использовать идентификатор имени типа (т.е. тип должен определяться одним словом). Например, следующая запись является ошибочной:
p:=^integer(@i);
Явные преобразования типов содержат все неявные. Кроме того, все порядковые типы можно явно преобразовывать друг к другу, все порядковые типы можно явно преобразовывать к типам real и complex, базовый класс можно явно преобразовать к производному и указатель pointer можно явно преобразовать к указателю на любой тип.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.