Advertisement
Evgenistan

Untitled

Aug 4th, 2022
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.87 KB | None | 0 0
  1.     class MyIterator
  2.     {
  3.     private:
  4.         MyVector &vector;
  5.         int i = -1;
  6.     public:
  7.         MyIterator() = delete;
  8.         MyIterator(MyVector &_vector, int _i) : vector(_vector), i(_i){};
  9.         T & operator*();
  10.         void operator++()
  11.         {
  12.             if (i < 0)
  13.                 throw std::out_of_range("i < 0 in operator++");
  14.             if(++i == (int)vector.Size)
  15.                 i = -1;
  16.         }
  17.  
  18.         bool operator!=(const MyIterator &rhs) const
  19.         {
  20.             if ( !(i == -1 && rhs.i == -1) )
  21.                 return true;
  22.  
  23.             return !(&vector == &rhs.vector && i == rhs.i);
  24.         }
  25.  
  26.         ~MyIterator() = default;
  27.     };
  28.     MyIterator end() { return {*this, -1}; }
  29.     MyIterator begin() { return {*this, ((Data && Size > 0) ? 0 : -1)};} // переписать в тетрадь с пояснением.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement