老孙的迭代器模板
膜拜一下老孙~~ 这个迭代器模板太强了我以链表为例 简单的模仿一下
////////////////////////////////////////////////
template<class Node,typename T>
class AutoPcur
{
public:
Node * pcur;
public:
AutoPcur(Node * node):pcur(node){}
virtual ~AutoPcur(){}
public:
Node * operator++(int)
{
Node * temp = pcur;
pcur = pcur->next;
return pcur;
}
Node * & operator++()
{
pcur = pcur->next;
return pcur;
}
T operator*()
{
return pcur->Data;
}
};
///////////////////////////////////////////
int main(int argc, char* argv[])
{
List list;
list.AppendList('C');
list.AppendList('h');
list.AppendList('i');
list.AppendList('G');
list.AppendList('n');
list.AppendList('a');
list.AppendList('G');
list.InsertList(7,'P');
list.InsertList(8,'Y');
list.AppendList('i');
list.DeleteList(4);
list.DeleteList(9);
AutoPcur<ChainNode,char> node(list.GetList());
for(++node;node.pcur;node++)
{
cout<<*node;
}
cout<<endl;
return 0;
}
页:
[1]