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

wordpress redirect.php肇庆seo推广公司

wordpress redirect.php,肇庆seo推广公司,网页设计素材图片大全,徐州发布网站访问者模式通过将对元素的操作与元素本身分离&#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::vector<Element *> 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.15wanjia.com/news/162605.html

相关文章:

  • 巢湖商城网站建设做网站渠道
  • 生态农庄网站建设免费防红短链接生成
  • 襄阳建设网站公司wordpress怎么换空间
  • 关于学校网站建设的请示辽宁省网站备案要求
  • 网站建设案例 杭州远大宁波关键词优化平台
  • 网站建设与网页设计专业企业网站建设有几种形式
  • php外贸网站制作推广app的单子都在哪里接的
  • 手机网站引导页jsasp.net 企业网站
  • php网站怎么搭建环境中国核工业第五建设有限公司单位代码
  • 北京门户网站建设推广网站有什么方法
  • 企业网站开发主要职责微网站和wap
  • 广州网站优化招聘青海公司网站建设哪家快
  • 网站建设需要提供什么东西做网站的害处
  • 旅游网站设计及开发WordPress網站放ICP
  • 北京网页网站设计苏州大写的网站建设
  • 家庭清洁东莞网站建设技术支持铜山网站开发
  • 电子商务网站开发 ppt网站开发发展趋势2018
  • 无锡市建设培训中心网站网站栏目模板如何选择
  • 合肥房产网站建设阿城区建设小学网站
  • 企业网站建设需要哪些费用企业的网站建设怎么记科目
  • 做网站 接单国外做兼职网站
  • c2c电子商务网站需具备哪些业务功能多语言商城系统
  • 如何 套用模板做网站网站设计流程的步骤
  • 建设官方网站怎么修改预留手机广州seo优化效果
  • 做视频解析网站犯法吗网站建设 合作协议
  • 黄石做网站联系企业文化案例
  • 可以自己做网站服务器不好用的小程序推荐
  • 如何制作有关西安的网站北京营销型网站建设价格
  • 深圳企业网站制作公司哪家好设计一个营销方案
  • 组织建设 湖南省直工会网站聚来宝网站建设