emplate <class Item>
class Iteration {
public:
Item *m_ptr;
Iteration(Item *p=0) : m_ptr(p){}
Item &operator*() {
return *m_ptr;
}
Item *operator->() {
return m_ptr;
}
Iteration &operator++() {//++i
m_ptr = m_ptr->next();
return *this;
}
Iteration operator++(int) {
Iteration tmp(*this);
++(*this);
return tmp;
}
bool operator == (const Iteration &i) const {
return m_ptr == i.m_ptr;
}
bool operator != (const Iteration &i) const {
return m_ptr != i.m_ptr;
};
iterator的简单实现
最新推荐文章于 2022-07-04 02:35:45 发布