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

Проверить правильность работы итератора - C++

Восстановить пароль Регистрация
 
nick95nick
0 / 0 / 0
Регистрация: 28.04.2012
Сообщений: 18
28.05.2014, 21:10     Проверить правильность работы итератора #1
Есть класс Iterator, в котором в свою очередь есть несколько других итераторов. Двое из них должны выводить первое и последнее вхождение символа в строку (Upper_bound,Lower_bound) . Есть подозрение, что они написаны неверно. Есть ли ошибки?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
template<class Item>
class Iterator
{
  private:
    MultiSet<Item>& Bag;
    size_t index;
  public:
    typedef Iterator<Item> iterator;
    typedef size_t size_t;
    Iterator(MultiSet<Item>& ms, size_t idx = 0)
      : Bag(ms), index(idx) {}
    ~iterator() { }
    iterator find(const Item& target)
    {
       iterator it(Bag);
       for (it = Bag.begin(); it != Bag.end() && *it != target; it++);
       return it;
    }
    iterator lower_bound(const Item& target)
    {
      iterator it(Bag);
      for (it = Bag.end(); it != Bag.begin() && *it > target; --it);
      return it;
    }
    iterator upper_bound(const Item& target)
    {
      iterator it(Bag);
      for (it = Bag.begin(); it != Bag.end() && *it <= target; ++it);
      return it;
    }
    Item& operator *() { return Bag[index]; }
    size_t operator ==(iterator& it){ return index == it.index; }
    size_t operator !=(iterator& it) { return index != it.index; }
    iterator operator =(iterator& it){ index = it.index; return *this; }
    iterator& operator++() { ++index; return *this; }
    iterator& operator--() { --index; return *this; }
    iterator operator++(int) { iterator clone(*this); ++index; return clone; }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2014, 21:10     Проверить правильность работы итератора
Посмотрите здесь:

Проверить код на правильность C++
C++ Проверить правильность задания №2
Проверить правильность арифметического выражения C++
Проверить правильность вычисления по формулам C++
C++ Проверить правильность расстановки скобок
C++ Проверить правильность написания сочетаний «жи», «ши», «ча», «ща»
C++ Проверить на правильность работы программы
Проверить код на правильность C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 12:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru