您的位置:首页 > 其它

写一个迭代器封装list的push_front()使得:用法不同,功能相同

2012-05-10 08:42 351 查看
#include <list>
#include <string>
#include <iostream>

using namespace std;

template <typename TYPE>
class Iterator
{
public:
Iterator( TYPE &c) : curr( &c )
{
}

Iterator<TYPE> &operator = (const typename TYPE::value_type value )
{
curr->push_front( value );
return *this;
}

private:
TYPE* curr;
};

int main( void )
{
list<string> lis;
Iterator<list<string> > obj( lis );

obj = "OK2002.com";
obj = "OK1500.com";
obj = "OK1700.com";

for ( list<string>::iterator iter=lis.begin( ); iter != lis.end( ); ++iter )
{
cout << *iter << endl;
}

system( "PAUSE" );
return EXIT_SUCCESS;
}

/*-----------
OK1700.com
OK1500.com
OK2002.com
请按任意键继续. . .
-----------------------*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐