![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Дополнительные типы, реализуемые классами
Рассмотрим отдельно эти типы. Set реализуется шаблонным классом Set: Set< < тип>, < мин.значение элемента множества>, < макс. значение(< =255) > > Пример: typedef Set < char, 'A', 'Z'> bolhiebukvi; // прописные латинские буквы bolhiebukvi glasnie, soglasnie; // объявление множеств гласных и согласных glasnie < < 'A'< < 'I'< < 'E'; // заполнение множества гласными буквами soglasnie < < 'B'< < 'C'< < 'D'; // заполнение множества согласными буквами // проверка принадлежности буквы ‘B’ принадлежности множеству glasnie Label1-> Caption=glasnie.Contains('А')?»Да»:»Нет»; // вывод «Да» String реализуется в виде: String < список имен>. Эти строки могут использоваться в привычных операциях сцепления (+) и сравнения строк (==).
Перечислим основные методы (имя строки и метод разделяются точкой) работы с этими строками: ToDouble/ToInt ‑ перевод строки в вещественное/целое число. c_str‑ возвращает указатель на символьный массив с исходной строкой. Length, IsEmpty ‑ возвращает длину строки, признак пустой строки (True). IsEmpty ‑ возвращает true, если длина строки нулевая. Insert(i) ‑ вставка строки после i‑ й позиции исходной строки. Delete/SubString(i, n) ‑ удаление/выделение подстроки длиной n с i‑ й позиции исходной строки (r=Label1-> Caption.SubString(2, 3)). LastDelimiter‑ возвращаетпозицию последнего символа‑ ограничителя. LowerCase/UpperCase ‑ перевод строки в нижний/верхний регистр. Trim, TrimLeft/TrimRight ‑ убрать пробелы и управляющие символы в начале и в конце строки, только в начале/конце строки соответственно. Format‑ форматирование строки, аналогично функции printf. ToInt/ToDouble ‑ перевод числовой строки к целому/вещественному числу. AnsiPos(s), Pos(s) ‑ возврат номера первого символа вхождения строки S. Пример формирования и вывода фамилии, имени и отчества: String Fio, Fam=«Иванов», Imj=«Иван»; Fio=Fam+’ ‘+Imj+’ ‘; Fio.Insert(«Иванович», Fio.Length()+1); Label1-> Caption=Fio; SmallString реализуется в виде: SmallString < длина> < имя строки>. Пример: SmallString< 30> Fam; Fam=«Иванов»; Label1-> Caption=Fam; AnsiString реализуется в виде: AnsiString< имя переменной> [< длина> ]. Этот тип эквивалентен типу String. Пример: AnsiString Fio, Fam=«Иванов», Imj=«Иван»; Fio=Fam+’ ‘+Imj+’ ‘; Fio.Insert(«Иванович», Fio.Length()+1); Label1-> Caption=Fio; Variant реализуется в виде: Variant < список имен переменных>. Пример: Variant Fam=«Иванов», Dp=Date(); //объявление универсальных переменных Label1-> Caption=Fam+DateToStr(Dp); // формирование и вывод метки TDateTime реализуется в виде: TDateTime < список имен переменных>. Этот тип имеет структуру типа double, которая содержит в целой части значение даты (порядкового номера дня начиная с 30.12.1899), а в дробной ‑ значение времени (отсчитывая от 12: 00). Пример: TDateTime d=Date(); Label1-> Caption=d+1; // дата на завтра Currency реализуется в виде: Currency < список имен переменных>. Currency Stoimoct=123565.15; Label1-> Caption=Stoimoct; Переменные‑ константы задаются добавлением модификатора const и значений при объявлении этих переменных. Попытки изменить эти значения операторами присваивания будут обнаружены при компиляции. Пример. const int a=1; /* переменная‑ константа*/ a=2; // ошибка Переопределение типа можно осуществить оператором typedef. Пример переопределения типаlong double на новый тип vehhiclo: typedef long double vehhiclo; vehhiclo a=1.2, b=1.6; // перемен. типа vehhiclo
|