Массив — основа для хранения однородных данных
Тип массива
В качестве типа элементов массива может выступать любо допустимый тип Си++, стандартный или введенный разработчиком. Это могут быть, в частности, классы. Например, если для решения какой-то статистической задачи требуется использовать сто игровых кубиков, то их можно описать так:
TDice dices[100] ;
Обращение к элементу массива классов
Ранее, когда простая (простая — в смысле не массив; еще говорят — скалярная) переменная Dice имела тип TDice, то обращение к ее методу GetDiceValueQ записывалось в формате «переменная.метод»:
Dice.GetDiceValue()
А как записать, допустим, вызов метода пятидесятого элемента dices? Почти так же, только вместо скалярной переменной надо подставить переменную с индексом:' «
dices[49].GetDiceValueО \
В качестве индекса взято число 49, потому что пятидесятый элемент массива в Си++, как уже говорилось, будет иметь сорок девятый номер (нумерация начинается с нуля).
Некоторые стандартные классы C++Builder содержат в себе переменные-массивы. Например, с уже известным нам и активно использующимся классом AnsiString (строка) можно работать как с массивом (последовательностью) символов, только не статическим, а динамическим, так как длина строки во время работы программы может меняться. Получить любой символ этой строки можно с помощью квадратных скобок индексации:
AnsiString s;
s = "12345";
s[0] равно"1",аз[4]="5".
Некоторые классы C++Builder допускают работу с собой как с массивами, однако реально они представляют собой не последовательности элементов, а обычные классы, для которых определена операция «[]»(операция так и называется — «.квадратные скобки» или «.выделение элемента по индексу»). Обращение s[0] no смыслу аналогично вызову„метода класса AnsiString, который по номеру символа возвращает его значение. Просто использовать квадратные скобки значительно нагляднее и удобнее.
175