Основы программирования. Динамические массивы. Списки. Ассоциативные массивы. Деревья. Хеш-таблицы - 12 стр.

UptoLike

Составители: 

14
После такого описания мы сможем обращаться к элементам массива, используя
данное индексное свойство:
a.Items[1]:=a.Items[0]+5;
Последняя запись эквивалентна следующей:
a.SetItem(1,a.GetItems(0)+5);
Отметим, что после описания свойства Items методы GetProp и SetProp долж-
ны быть помещены в приватную секцию.
Класс может иметь несколько индексных свойств. Одно из них может быть
сделано свойством по умолчанию, для
чего в конце его описания необходимо до-
бавить зарезервированное слово default:
property Items[i: integer]: DataType
read GetItem write SetItem; default;
Индексное свойство по умолчанию может быть использовано без указания его
имени: запись a.Items[0] эквивалентна записи a[0], и последнее присваива-
ние может быть записано в виде:
a[1]:=a[0]+5;
Таким образом, индексные свойства по умолчанию позволяют использовать для
объектов
класса синтаксис массивов.
1.5 Клиентская программа для динамического массива
В следующей программе иллюстрируется большинство возможностей дина-
мических массивов. В массив a заносятся вводимые целые положительные числа,
признаком конца ввода является число 0. Далее массив a сортируется по возрас-
танию и обращается. Затем его содержимое переносится в массив b, и элементы
массива b удваиваются.
uses IntArray;
procedure MultBy2(var i: integer);
begin
i:=2*i;
end;
var a,b: DynArray;
begin
a:=DynArray.Create(0,10);
repeat
read(x);
if x=0 then break;
a.Add(x);
until False;
a.TrimToSize;