药品 | 健康 | 保健 | 老人 | 心理 | 饮食 | 健身 |
返回首页
当前位置: xbj.cc > 健身 > 体育运动 > 球类运动 > 足球 >

足球战术之iterator篇

时间:2019-05-13 17:36来源:有问必答健康社区 作者:点击: 点击手机浏览

<p style=line-height: 150%>接上回:

<p style=line-height: 150%><A href="http://www.csdn.net/develop/read_article.asp?id=11677">http://www.csdn.net/develop/read_article.asp?id=11677</A>

<p style=line-height: 150%>使用iterator模式,让每个队员做
iterator,每个位置做aggregate,
有如下几个好处:
1.每个位置支持不同的队员用不同方式遍历。
2.简化了每个位置的接口,使其kiss,不用具有遍历的接口。
3.在同一个位置支持多个队员同时遍历。
代码如下:
template <class Item>
class 位置{
public:
     位置(long size=缺省_位置_容量);
     long 计数() const;
     Item& Get(long index) const;
     //...
};

<p style=line-height: 150%>template <class Item>
class 队员{
public:
     virtual void 回到初始位置()=0;
     virtual void 下一个位置()=0;
     virtual bool 是否到达() const=0;
     virtual Item 当前Item() const=0;
protected:
     队员();
};

<p style=line-height: 150%>template <class Item>
class 左后卫:public 队员<Item>{
public:
     左后卫(const 位置<Item>* 一个位置);
     virtual void 回到初始位置;
     virtual void 下一个位置();
     virtual bool 是否到达() const;
     virtual Item 当前Item() const;
private:
     const 位置<Item>* _位置;
     long _当前;
};




------分隔线----------------------------
| 手机浏览 | 关于新保健 | 我要投稿 | 联系我们 | 人才招聘 | 友情链接 | 版权申明 | 广告合作 | 网站地图 | TAG标签 |  TOP↑