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

男女做那种的视频网站wordpress 批量添加文章

男女做那种的视频网站,wordpress 批量添加文章,遵义网站开发哪家好,做网站小程序源码迭代器模式 C #include <iostream> #include <string> #include <vector>using namespace std;// 迭代抽象类,用于定义得到开始对象、得到下一个对象、判断是否到结尾、当前对象等抽象方法&#xff0c;统一接口 class Iterator { public:Iterator(){};virtu…

迭代器模式

在这里插入图片描述

C++

#include <iostream>
#include <string>
#include <vector>using namespace std;// 迭代抽象类,用于定义得到开始对象、得到下一个对象、判断是否到结尾、当前对象等抽象方法,统一接口
class Iterator
{
public:Iterator(){};virtual ~Iterator(){};virtual string First() = 0;virtual string Next() = 0;virtual string CurrentItem() = 0;virtual bool IsDone() = 0;
};// 聚集抽象类
class Aggregate
{
public:virtual int Count() = 0;virtual void Push(const string &strValue) = 0;virtual string Pop(const int nIndex) = 0;virtual Iterator *CreateIterator() = 0;
};// 具体迭代器类,继承Iterator 实现开始、下一个、是否结尾、当前对象等方法
class ConcreteIterator : public Iterator
{
public:ConcreteIterator(Aggregate *pAggregate) : m_nCurrent(0), Iterator(){m_Aggregate = pAggregate;}string First(){return m_Aggregate->Pop(0);}string Next(){string strRet;m_nCurrent++;if (m_nCurrent < m_Aggregate->Count()){strRet = m_Aggregate->Pop(m_nCurrent);}return strRet;}string CurrentItem(){return m_Aggregate->Pop(m_nCurrent);}bool IsDone(){return ((m_nCurrent >= m_Aggregate->Count()) ? true : false);}private:Aggregate *m_Aggregate;int m_nCurrent;
};// 具体聚集类 继承
class ConcreteAggregate : public Aggregate
{
public:ConcreteAggregate() : m_pIterator(NULL){m_vecItems.clear();}~ConcreteAggregate(){if (NULL != m_pIterator){delete m_pIterator;m_pIterator = NULL;}}Iterator *CreateIterator(){if (NULL == m_pIterator){m_pIterator = new ConcreteIterator(this);}return m_pIterator;}int Count(){return m_vecItems.size();}void Push(const string &strValue){m_vecItems.push_back(strValue);}string Pop(const int nIndex){string strRet;if (nIndex < Count()){strRet = m_vecItems[nIndex];}return strRet;}private:vector<string> m_vecItems;Iterator *m_pIterator;
};
int main()
{ConcreteAggregate *pName = NULL;pName = new ConcreteAggregate();if (NULL != pName){pName->Push("hello");pName->Push("word");pName->Push("cxue");}Iterator *iter = NULL;iter = pName->CreateIterator();if (NULL != iter){string strItem = iter->First();while (!iter->IsDone()){cout << iter->CurrentItem() << " is ok" << endl;iter->Next();}}return 0;
}

C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>typedef struct _Iterator
{struct _Aggregate *aggregate;int current;
} Iterator;typedef struct _Aggregate
{int count;char **items;
} Aggregate;// 创建迭代器
Iterator *Iterator_Create(Aggregate *agg)
{Iterator *it = (Iterator *)malloc(sizeof(Iterator));it->aggregate = agg;it->current = 0;return it;
}// 释放迭代器
void Iterator_Destroy(Iterator *it)
{free(it);
}// 获取第一个元素
char *Iterator_First(Iterator *it)
{if (it && it->aggregate && it->aggregate->count > 0){return it->aggregate->items[0];}return NULL;
}// 移动到下一个元素
char *Iterator_Next(Iterator *it)
{if (it && it->aggregate && it->current >= 0 && it->current < it->aggregate->count){it->current++;return it->aggregate->items[it->current];}return NULL;
}// 当前元素
char *Iterator_CurrentItem(Iterator *it)
{if (it && it->aggregate && it->current < it->aggregate->count){return it->aggregate->items[it->current];}return NULL;
}// 判断是否结束
int Iterator_IsDone(Iterator *it)
{return it->current >= it->aggregate->count;
}// 创建聚合
Aggregate *Aggregate_Create()
{Aggregate *agg = (Aggregate *)malloc(sizeof(Aggregate));agg->count = 0;agg->items = NULL;return agg;
}// 销毁聚合
void Aggregate_Destroy(Aggregate *agg)
{if (agg->items){int i;for (i = 0; i < agg->count; i++){free(agg->items[i]);}free(agg->items);}free(agg);
}// 添加元素到聚合
void Aggregate_Add(Aggregate *agg, const char *item)
{if (agg){agg->items = realloc(agg->items, sizeof(char *) * (++agg->count));agg->items[agg->count - 1] = strdup(item);}
}int main()
{Aggregate *pName = Aggregate_Create();Aggregate_Add(pName, "hello");Aggregate_Add(pName, "world");Aggregate_Add(pName, "cxue");Iterator *iter = Iterator_Create(pName);char *strItem = Iterator_First(iter);while (!Iterator_IsDone(iter)){printf("%s is ok\n", Iterator_CurrentItem(iter));strItem = Iterator_Next(iter);}Iterator_Destroy(iter);Aggregate_Destroy(pName);return 0;
}
http://www.yayakq.cn/news/115863/

相关文章:

  • 乐陵网站建设黔东南网站开发
  • 不用源码做网站前端开发语言有哪些
  • 个人免费网站建站排名如何制作课程网站模板下载
  • 微信网站怎么做的专业的高端网站制作公司
  • 做国外网站调查挣取零花钱石家庄便宜网站制作
  • 阿里巴巴国际网站建设开发小程序多少报价
  • 常州网站关键词推广便宜自适应网站建设厂家
  • 标准网站建设哪家好软文营销的五大注意事项
  • 网站维护运营好做吗网站用什么系统好用
  • 建晨网站建设建立一个属于自己的网站
  • 浙江做网站公司wordpress 代码分析
  • 网站优化的推广wordpress5.0下载
  • 权威的网站建设公司做网站网页需要什么软件
  • 网站开发与维护的工作内容网站的常用技术有哪些
  • 营销网站建设软件下载网站开发的最后5个阶段是什么
  • 做微网站常用软件天元建设集团有限公司第二公司
  • 深圳wap网站建设广东建泰建设有限公司网站
  • 公司内部网站网站建设大德通众包
  • 做网站代下重庆网络推广交流
  • 什么网站做兼职最好网页设计尺寸一般是多少
  • 青岛个人建站模板seo研究
  • 深圳建外贸网站如何上传安装wordpress
  • 黑豹站群系统学校网站管理系统
  • 网站如何做收录做精酿啤酒购买的网站
  • 做服装要看国外哪些网站好浙江温州城乡建设网站
  • 织梦网站logo怎么换全国最有实力的信息网络公司排名
  • 基于php的微网站开发响应式网站404页面怎么做
  • 明星做代言的购物网站0网站规划 时间
  • 网站做的比较好的公司吗外贸网站建设网站
  • 做网站托管的好处济南网站制作的公司