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

php网站源码安装教程网站方案建设书怎么写

php网站源码安装教程,网站方案建设书怎么写,直播源码下载,网站备案账号密码访问者模式通过将对元素的操作与元素本身分离#xff0c;使得可以在不修改元素类的情况下定义新的操作。 #include iostream #include vector #include algorithm// 前向声明 class ConcreteElementA; class ConcreteElementB;// 访问者接口 class V…访问者模式通过将对元素的操作与元素本身分离使得可以在不修改元素类的情况下定义新的操作。 #include iostream #include vector #include algorithm// 前向声明 class ConcreteElementA; class ConcreteElementB;// 访问者接口 class Visitor { public:virtual void visit(ConcreteElementA *element) 0;virtual void visit(ConcreteElementB *element) 0; };// 元素接口 class Element { public:virtual void accept(Visitor *visitor) 0; };// 具体元素A class ConcreteElementA : public Element { public:void accept(Visitor *visitor) override{visitor-visit(this);}void operationA(){std::cout ConcreteElementA operationA() std::endl;} };// 具体元素B class ConcreteElementB : public Element { public:void accept(Visitor *visitor) override{visitor-visit(this);}void operationB(){std::cout ConcreteElementB operationB() std::endl;} };// 具体访问者 class ConcreteVisitor : public Visitor { public:void visit(ConcreteElementA *element) override{std::cout ConcreteVisitor visit ConcreteElementA std::endl;element-operationA();}void visit(ConcreteElementB *element) override{std::cout ConcreteVisitor visit ConcreteElementB std::endl;element-operationB();} };// 对象结构类 class ObjectStructure { private:std::vectorElement * elements;public:void addElement(Element *element){elements.push_back(element);}void removeElement(Element *element){auto it std::find(elements.begin(), elements.end(), element);if (it ! elements.end()){elements.erase(it);}}void accept(Visitor *visitor){for (Element *element : elements){element-accept(visitor);}} };int main() {ObjectStructure objectStructure;ConcreteElementA elementA;ConcreteElementB elementB;objectStructure.addElement(elementA);objectStructure.addElement(elementB);ConcreteVisitor visitor;objectStructure.accept(visitor);return 0; }运行结果 ConcreteVisitor visit ConcreteElementA ConcreteElementA operationA() ConcreteVisitor visit ConcreteElementB ConcreteElementB operationB()在上述代码中Visitor是访问者接口定义了访问具体元素的方法。Element是元素接口定义了接受访问者访问的方法。ConcreteElementA和ConcreteElementB是具体元素类实现了元素接口。ConcreteVisitor是具体访问者类实现了访问者接口。ObjectStructure是对象结构类用于管理元素的集合并提供接受访问者访问的方法。在main函数中我们创建了具体元素A和B的实例并将它们添加到对象结构中。然后创建了具体访问者的实例并调用对象结构的accept方法将访问者应用于所有元素。输出结果会显示访问者对不同元素的访问和操作。
http://www.hkea.cn/news/14566964/

相关文章:

  • 项目网站基础设施建设dw如何发布网页
  • 长沙市网站制作公司上海装修公司排名大全
  • 企业建站有哪些步骤做的比较好的法律实务培训网站
  • 楚雄市城乡建设局网站wordpress最新文章调用
  • 企业站后端网站开发培训
  • 自己做网站哪种好做重庆企业网站制作公司
  • 网站转化怎么做论坛网站设计
  • 鞋 东莞网站建设 技术支持网站 数据库模板
  • 中国空间站完成图微信公众号登录wordpress网站
  • 哪家建设网站好公司建网站
  • 2019销售网站开发与设计现状有啥网站是专做时尚穿搭
  • 哪个网站做美食好一点电子商务发展趋势有哪些
  • 网站代理被抓搜外友链平台
  • 单位网站维护 网站建设岗位2022企业所得税优惠政策
  • 漳浦县城乡规划建设局网站东莞企业网站推广公司
  • 网站页面怎么优化青海网站制作公司
  • 网站静态页模板广东自助建站网站
  • 高端广告公司网站建设价格中国十大传媒公司
  • 站长查询站长工具福田搭建网站费用
  • 做农家乐网站cms建站系统免费
  • 提高网站访问速度连江厦门网站建设公司
  • 重庆建设工程信息网最新网站短租网站建设
  • 不利于网站收录动态购物网站开发源代码
  • 如何向搜索引擎提交网站西安酒店网站制作
  • 优秀排版设计网站国内做心理咨询师培训出名的网站
  • 2021半夜好用的网站谷歌应用商店下载
  • 孝感个人网站建设永春网站建设
  • 学生html个人网站模板线上推广方案模板
  • app开发模板网站用ps怎么做网站步骤
  • 深圳品牌网站建设服务费用廊坊视频优化推广