К наиболее популярным типам классов относятся классы, контейнеры (называемые также классы совокупностей), т.е. классы, спроектированные для хранения в них совокупностей объектов. Классы контейнеры обычно снабжены такими возможностями, как вставка, удаление, поиск, сортировка, проверка наличия элемента в классе и тому подобное. Массивы, стеки, очереди, связные списки — все это примеры классов контейнеров.
Принято ассоциировать объекты итераторы, или, короче — итераторы, с классами контейнерами. Итератор — это объект, который возвращает следующий элемент совокупности (или определяет некоторое действие над следующим элементом совокупности). Когда написан итератор класса, легко получить следующий элемент этого класса. Итераторы обычно пишутся как друзья классов, с которыми они работают. Это предоставляет итераторам возможность прямого доступа к закрытым данным этих классов. Подобно тому, как книга, читаемая несколькими людьми, могла бы иметь в себе сразу несколько закладок, класс контейнер может иметь несколько одновременно работающих итераторов. Каждый итератор поддерживает свою собственную «позицию» информации.
Комментариев нет:
Отправить комментарий