Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sammm
3 / 3 / 1
Регистрация: 21.10.2012
Сообщений: 182
#1

Проиллюстрируйте работу простейщего класса итератора - C++

03.11.2013, 16:45. Просмотров 281. Ответов 4
Метки нет (Все метки)

Дан класс, представляющий собой векторную таблицу. Как будет выглядеть для него класс итератор. Если можно, покажите, как перебираются элементы с помощью этого класса.
C++
1
2
3
4
5
6
7
class Item{
public:
    int key;
    char *info;
};
 
Item table[100];
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2013, 16:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проиллюстрируйте работу простейщего класса итератора (C++):

Определить функции итератора, вне класса - C++
Есть класс, к примеру очередь Queue, и есть итератор этого класса, объявленный внутри класса, как его public член. Я хочу определить...

Класс итератора для класса вектора - C++
Необходимо реализовать собственный класс итератора для прохода по вектору, с перегрузкой оператора ++ - переход к следующему элементу и --...

Ошибка в перегрузке операторов для класса - итератора - C++
Добрый вечер. Есть заготовка программы для работы с матрицей, построенной из узлов с четырьмя связями (вверх, вниз, влево, вправо)....

Ошибка при использовании итератора в реализации класса - C++
На скрине всё понятно чо каво. Собственно, что я упустил? Что не дочитал? Проясните, пожалуйста. Из-за медленного интернета не могу...

Создать объявление класса и разработать программу-драйвер, которая продемонстрирует работу класса. - C++
Класс Triangle (треугольник). Класс хранит Декартовы координаты трех углов треугольника. Конструктор принимает три группы координат. Должны...

Составить описание класса "3D вектор". Объявить объекты класса и продемонстрировать работу методов - C++
Возникли сложности при решении задачи. Буду признателен тем, кто поможет. Задание: Составить описание класса. Объявить объекты класса...

4
Nick Alte
Эксперт С++
1639 / 1011 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
03.11.2013, 16:55 #2
Item не является контейнером, поскольку не содержит в себе множество однотипных элементов, поэтому для него итератор никак не будет выглядеть. Простейший итератор, позволяющий перебирать содержимое table - указатель:
C++
1
2
3
4
5
6
typedef Item* item_iterator;
void foo()
{
    for(item_iterator i = table; i != table + 100; ++i)  // В C++11 это пишется лучше: for(auto i = begin(table); i != end(table); ++i)
        std::cout << i->key << std::endl << i-> info << std::endl;
}
1
Sammm
3 / 3 / 1
Регистрация: 21.10.2012
Сообщений: 182
03.11.2013, 17:26  [ТС] #3
Nick Alte, а можете привести, такой же простой пример итератора для контейнера?
0
Croessmah
Эксперт CЭксперт С++
13420 / 7574 / 855
Регистрация: 27.09.2012
Сообщений: 18,649
Записей в блоге: 3
Завершенные тесты: 1
03.11.2013, 17:28 #4
Паттерн итератор
2
Nick Alte
Эксперт С++
1639 / 1011 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
03.11.2013, 19:26 #5
Цитата Сообщение от Sammm Посмотреть сообщение
а можете привести, такой же простой пример итератора для контейнера?
Для вектора итератором тоже может служить обычный указатель. Вообще категории итераторов и требования к ним полностью описаны, например, здесь. Любой объект, соответствующий этим требованиям, является итератором.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2013, 19:26
Привет! Вот еще темы с ответами:

Конструирование класса, моделирующего работу устройства - C++
Дорогие форумчане, помогите разобраться с задачей. Необходимо: &quot;1. Разработать модель работы электронного секундомера, состоящую из 3-4...

Класс и приложение проверяющее работу класса. - C++
Создать класс и приложение проверяющее работу класса. Класс СЕЙФ, член класса константа содержащая код и метод открывающий СЕЙФ при...

Создание класса, моделирующего работу RS-триггера - C++
Здравствуйте! Помогите пожалуйста с заданием.. Создать класс RS_trigger, моделирующий работу R-S триггера. Триггер принимает логическое...

Разработать программу-драйвер, которая продемонстрирует работу производного класса - C++
Создать объявление классов согласно варианту. Разработать программу-драйвер, которая продемонстрирует работу производного класса. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
03.11.2013, 19:26
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru