博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式[11]-Visitor
阅读量:7198 次
发布时间:2019-06-29

本文共 886 字,大约阅读时间需要 2 分钟。

Type: Behavioral

Visitor: Visitor提供要对对象结构中元素执行的操作。让你可以在不修改其操作的元素的情况下定义新操作。在元素类型很少改变的情况下适用。

#include 
using namespace std;class ConcreteElementA;class ConcreteElementB;class Visitor{public: virtual void visitElementA(ConcreteElementA* a) = 0; virtual void visitElementB(ConcreteElementB* b) = 0;};class Element{public: virtual void accept(Visitor* v)=0;};class ConcreteVisitor: public Visitor{public: void visitElementA(ConcreteElementA* a) { cout<<"visitElementA"<
visitElementA(this); };};class ConcreteElementB: public Element{public: void accept(Visitor* v) { v->visitElementB(this); };};int main(){ Visitor *pVisitor = new ConcreteVisitor; Element *pElement = new ConcreteElementA; pElement->accept(pVisitor); pElement = new ConcreteElementB; pElement->accept(pVisitor); system("pause"); return 0;}

转载地址:http://pqkum.baihongyu.com/

你可能感兴趣的文章
Linux centos yum安装LAMP环境
查看>>
爬虫到百度贴吧,爬取自己的小说
查看>>
Windows批处理BAT脚本查询PM2.5实时空气质量指数(AQI)
查看>>
excel 函数 vlookup
查看>>
基于keepalived实现LVS高可用以及Web服务高可用
查看>>
1-2-Active Directory 域服务准备概述
查看>>
怎样测试UDP端口
查看>>
Electron实现系统鼠标指针操作
查看>>
常用的查看华为设备运行状况及排错诊断时命令(一)
查看>>
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
查看>>
2011-09-28 18:04
查看>>
linux 断电后出现问题
查看>>
js鼠标滚轮上下滚动监听事件应用实例(跨浏览器,亲测)
查看>>
SCVMM2008R2学习(三),添加VMM库共享和库服务器
查看>>
apache显示中文乱码
查看>>
PIM-DM基本处理流程
查看>>
linux命令的参数个数限制
查看>>
JFinal aop事务 RegTxInterceptor示例
查看>>
博客添加"Fork me on GitHub"标识
查看>>
各种排序算法的稳定性分析
查看>>