具体方法定义:
#include "iterator.h"
template <class Item>
ListIterator<Item>::ListIterator(const List<Item>* aList)
: _courrent(0)
, _list(aList)
{
}
template <class Item>
void ListIterator<Item>::First()
{
_courrent = 0;
}
template <class Item>
void ListIterator<Item>::Next()
{
_courrent ++;
}
template <class Item>
bool ListIterator<Item>::IsDone() const
{
return _courrent >= _list->Count();
}
template <class Item>
Item ListIterator<Item>::CurrentItem() const
{
return _list->Get(_courrent);
}
template <class Item>
ReverseListIterator<Item>::ReverseListIterator(const List<Item>* aList)
: _courrent(0)
, _list(aList)
{
}
template <class Item>
void ReverseListIterator<Item>::First()
{
_courrent = 0;
}
template <class Item>
void ReverseListIterator<Item>::Next()
{
_courrent ++;
}
template <class Item>
bool ReverseListIterator<Item>::IsDone() const
{
return _courrent >= _list->Count();
}
template <class Item>
Item ReverseListIterator<Item>::CurrentItem() const
{
return _list->Get(_courrent);
}
int main()
{
return 0;
}
|