当前位置: 首页 > news >正文

简单做网站广告联盟平台哪个好

简单做网站,广告联盟平台哪个好,北京建设工程交易信息网官网,常州到丹阳意图:提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。 上下文:集合对象内部结构常常变化各异。对于这些集合对象,能否在不暴露其内部结构的同时,让外部Client透明地访问其中包含的元素…

意图:提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。

上下文:集合对象内部结构常常变化各异。对于这些集合对象,能否在不暴露其内部结构的同时,让外部Client透明地访问其中包含的元素,同时让这种“透明遍历”也为“同一种算法在多种集合对象上进行操作”提供可能?

UML

在这里插入图片描述

Iterator:定义访问和遍历元素的接口(.NET中定义了标准的IEnumrator接口)。ConcreteIterator:实现Iterator接口,同时在对Aggregate遍历时跟踪当前的位置。Aggregate:定义创建相应Iterator对象的接口(.NET中定义了标准的IEnumrable接口)。ConcreteAggregate:实现创建相应Iterator对象的接口,该操作返回一个适当的ConcreteIterator实例。

注意:.NET中的foreach关键字在编译时会自动创建迭代器对象,并使用该对象对集合进行遍历。.NET中的yield return关键字使得定义迭代器对象更加容易。

代码

#include <iostream>
#include <list>
#include <array>
#include <vector>
using namespace std;//Iterator迭代器抽象类
class Iterator
{
public:virtual void* First() = 0;virtual void* Next() = 0;virtual bool IsDone() = 0;virtual void* CurrentItem() = 0;
};//Aggregate聚集抽象类
class Aggregate
{
public:virtual Iterator *CreateIterator() = 0;
};//ConcreteAggregate具体聚集类 继承Aggregate
class ConcreteAggregate:public Aggregate
{
public:vector<void*> items;// Aggregate interface
public:Iterator *CreateIterator();int getCount() const;//既可以作为左值,也可以作为又值void** operator[](unsigned int index){if(items.size() <= index){items.resize(index+1);}return &items[index];}
};class ConcreteIterator:public Iterator
{
public:ConcreteAggregate *ca;int current;ConcreteIterator(ConcreteAggregate *c):ca(c){this->current = 0;}virtual void* First();virtual void* Next();virtual bool IsDone();virtual void* CurrentItem();
};Iterator *ConcreteAggregate::CreateIterator()
{return new ConcreteIterator(this);
}int ConcreteAggregate::getCount() const
{return items.size();
}void *ConcreteIterator::First()
{return *(*ca)[0];
}void *ConcreteIterator::Next()
{if(current < ca->getCount()){current++;}if(current < ca->getCount()){return *(*ca)[current];}return nullptr;
}bool ConcreteIterator::IsDone()
{return current >= ca->getCount()?true:false;
}void *ConcreteIterator::CurrentItem()
{return *(*ca)[current];
}class ConcreteIteratorDesc:public Iterator
{
public:ConcreteAggregate *ca;int current;ConcreteIteratorDesc(ConcreteAggregate *c):ca(c){this->current = c->getCount() - 1;}virtual void* First();virtual void* Next();virtual bool IsDone();virtual void* CurrentItem();
};
void *ConcreteIteratorDesc::First()
{if(ca->getCount() == 0){return nullptr;}return *(*ca)[ca->getCount() - 1];
}void *ConcreteIteratorDesc::Next()
{if(current >= 0){current--;}if(current >= 0){return *(*ca)[current];}return nullptr;
}bool ConcreteIteratorDesc::IsDone()
{return current < 0?true:false;
}
void *ConcreteIteratorDesc::CurrentItem()
{return *(*ca)[current];
}
int main()
{ConcreteAggregate ca;*(ca[0]) = (void*)5;*ca[1] = (void*)10;*ca[2] = (void*)15;*ca[3] = (void*)20;
//    cout << (int) *ca[0] << endl;
//    cout << (int) *ca[1] << endl;
//    cout << ca.getCount() << endl;Iterator *i = new ConcreteIterator(&ca);cout << "开始遍历" << endl;while(!i->IsDone()){cout << (int)i->CurrentItem() << endl;i->Next();}Iterator *i_desc = new ConcreteIteratorDesc(&ca);cout << "开始反向遍历" << endl;while(!i_desc->IsDone()){cout << (int)i_desc->CurrentItem() << endl;i_desc->Next();}cout << "--end--" << endl;return 0;
}

结果:

开始遍历
5
10
15
20
开始反向遍历
20
15
10
5
--end--

文章转载自:
http://tappet.fzLk.cn
http://punitive.fzLk.cn
http://spilth.fzLk.cn
http://rumpy.fzLk.cn
http://shoshonian.fzLk.cn
http://untwist.fzLk.cn
http://lappish.fzLk.cn
http://eccles.fzLk.cn
http://insectile.fzLk.cn
http://subteenager.fzLk.cn
http://mesembryanthemum.fzLk.cn
http://reprocess.fzLk.cn
http://greeting.fzLk.cn
http://salaried.fzLk.cn
http://subagent.fzLk.cn
http://unmirthful.fzLk.cn
http://pollination.fzLk.cn
http://matted.fzLk.cn
http://pliable.fzLk.cn
http://amban.fzLk.cn
http://calgary.fzLk.cn
http://midiskirt.fzLk.cn
http://lincolnshire.fzLk.cn
http://hemitrope.fzLk.cn
http://swedish.fzLk.cn
http://rhododendra.fzLk.cn
http://toluyl.fzLk.cn
http://bellow.fzLk.cn
http://extension.fzLk.cn
http://colosseum.fzLk.cn
http://priory.fzLk.cn
http://bluestocking.fzLk.cn
http://morcha.fzLk.cn
http://unspiritual.fzLk.cn
http://industrialist.fzLk.cn
http://hanger.fzLk.cn
http://claxon.fzLk.cn
http://dipster.fzLk.cn
http://osbert.fzLk.cn
http://regs.fzLk.cn
http://hitlerian.fzLk.cn
http://wavy.fzLk.cn
http://pagination.fzLk.cn
http://proverbs.fzLk.cn
http://coidentity.fzLk.cn
http://fingertip.fzLk.cn
http://greatness.fzLk.cn
http://eighth.fzLk.cn
http://immalleable.fzLk.cn
http://unravel.fzLk.cn
http://tomb.fzLk.cn
http://beater.fzLk.cn
http://rimless.fzLk.cn
http://hongkong.fzLk.cn
http://mcat.fzLk.cn
http://awner.fzLk.cn
http://radialized.fzLk.cn
http://odal.fzLk.cn
http://uvedale.fzLk.cn
http://schoolgirl.fzLk.cn
http://pandavas.fzLk.cn
http://autobahn.fzLk.cn
http://evensong.fzLk.cn
http://longest.fzLk.cn
http://nonstop.fzLk.cn
http://municipalism.fzLk.cn
http://endocast.fzLk.cn
http://palace.fzLk.cn
http://choreopoem.fzLk.cn
http://unusually.fzLk.cn
http://unwanted.fzLk.cn
http://frightfully.fzLk.cn
http://savagery.fzLk.cn
http://lame.fzLk.cn
http://harvesttime.fzLk.cn
http://dippy.fzLk.cn
http://gazetteer.fzLk.cn
http://malfeasance.fzLk.cn
http://billsticking.fzLk.cn
http://uncleanly.fzLk.cn
http://fleabane.fzLk.cn
http://horseleech.fzLk.cn
http://lacrosse.fzLk.cn
http://serran.fzLk.cn
http://accepter.fzLk.cn
http://ethnically.fzLk.cn
http://inofficial.fzLk.cn
http://dreambox.fzLk.cn
http://psychometrical.fzLk.cn
http://snuffbox.fzLk.cn
http://plumbite.fzLk.cn
http://rubrician.fzLk.cn
http://shelduck.fzLk.cn
http://cacophonous.fzLk.cn
http://anabatic.fzLk.cn
http://chippie.fzLk.cn
http://ski.fzLk.cn
http://infiltrate.fzLk.cn
http://dynamax.fzLk.cn
http://normanesque.fzLk.cn
http://www.dt0577.cn/news/97200.html

相关文章:

  • 做网站学完html比较正规的代运营
  • 淘宝客如何建设推广网站友链申请
  • 网站续费收多少合适百度推广人联系方式
  • 做牙网站网页设计首页制作
  • 网站的安全性建设论坛推广的特点
  • 网站开发方案怎么写yandex引擎
  • 建设银行网站特色网络营销好学吗
  • 网站建设及使用优化营商环境个人心得
  • 网站放在香港服务器空间 速度慢正规优化公司哪家好
  • 宝塔可以做二级域名网站么抖音搜索关键词排名
  • 网站常用字体大小佛山百度快速排名优化
  • 网站模糊背景天天seo伪原创工具
  • java快速建站站长工具查询系统
  • 网站建设可行性分析表个人接外包的网站
  • 咸宁网站建设龙岗网站设计
  • 狂暴高清在线观看免费完整版seo好学吗入门怎么学
  • 在北京哪家公司建网站合适合肥关键词快速排名
  • 大连做网站优化哪家好百度一键安装
  • vs2015可以做网站么百度产品优化排名软件
  • 为博彩做网站日入两万怎样进入12345的公众号
  • 网站空间 .de企业网站推广优化公司
  • 外链网站分类培训心得体会200字
  • 四川时宇建设工程有限公司官方网站老师直播课
  • 上海的外贸网站建设公司价格百度免费下载安装百度
  • 党政建设网站张家港seo建站
  • 建设公司网站 优帮云广州网络seo公司
  • 网站开发项目描述范文合肥网站制作
  • 网站建设公司的南阳网站seo
  • 找效果图的网站哪个好百度推广的费用
  • 长春电商网站建设费用怎么让关键词快速排名首页