ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 7) онлайн

Доступ к объектам в массиве

Объявление класса Distance в этой программе похоже на то, которое использова- лось в предыдущей программе. Однако в функции main() мы определили массив объектов класса Distance:

Distance dist [ MAX ];

Здесь типом данных массива dist является класс Distance. Число элементов массива определяется значением переменной MAX. На рис. 7.7 показано, как это выглядит.

Доступ к методам объектов элементов массива похож на доступ к членам структуры, являющейся элементом массива, как в примере PARTARAY. Здесь по- казано, как вызвать метод showdist() элемента массива dist под номером j:

dist [ j ].showdist ( );

Как вы можете видеть, доступ к методу объекта, являющегося элементом массива, осуществляется с помощью операции точки. За именем массива следу-

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

Заметим, что при вызове метода getdist() для помещения интервала в массив мы воспользуемся случаем и увеличим индекс массива n:

dist [ n++ ].getdist();

Рис. 7.7. Массив объектов

Таким образом, следующая группа данных, полученная от пользователя, будет помещена в структуру следующего элемента массива dist. Переменная n должна быть увеличена вручную, как здесь, потому что мы используем цикл do вместо цикла for. В цикле for переменная цикла, которая увеличивается автома- тически, может служить индексом массива.

 

16