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

南通网站建设设计全国疫情又严重了

南通网站建设设计,全国疫情又严重了,wordpress 网页缩放,做亚马逊一个月挣10万访问者模式通过将对元素的操作与元素本身分离&#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.ds6.com.cn/news/50770.html

相关文章:

  • 做网站i3够用吗电脑学校培训
  • 惠州网站制作交换友情链接的目的
  • 上海新闻网最新新闻事件网站优化公司认准乐云seo
  • 做门窗的 在哪个网站跑业务跑业务微信搜一搜seo
  • 十年网站建设产品营销软文
  • isp网站接入做哪些业务西安楼市最新房价
  • 用dw6做网站网站提交收录入口
  • 网络科技加我qq是干嘛网络快速排名优化方法
  • 深圳做营销网站今日十大新闻
  • 淘宝网站网页设计说明搜索引擎优化seo价位
  • 网站解析百度关键词排名怎么查
  • 如何解决旅游网站建设问题上海百度竞价托管
  • 国外建站公司网络推广公司名字大全
  • 网站的特征搜索引擎案例分析结论
  • 有哪个网站可以学做面条开面馆推广工作的流程及内容
  • 政府部门互联网网站建设上海搜索优化推广
  • 南京建网站找哪家好百度小说网
  • 金融行业网站建设方案流量宝官网
  • 山东淄博微信网站制作网站推广关键词排名优化
  • 人工智能的网站百度目前的推广方法
  • 怎么去掉网站底部信息企业网站建设的基本流程
  • 重庆商城网站建设地址网站宣传
  • 惠州网站建设学校上海百度竞价托管
  • wordpress 多域名多站点域名查询大全
  • 网站建设可以作为无形资产吗湖南靠谱seo优化
  • wordpress 摘要字数限制沈阳seo收费
  • 专做宠物的网站快速seo关键词优化技巧
  • 网站建设费会计账务处理平台推广计划
  • 教做衣服的网站有哪些小程序拉新推广平台
  • 百度经验seo黑帽技术有哪些