博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式[2]-Chain of Responsibility
阅读量:6701 次
发布时间:2019-06-25

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

Type: Behavioral

#include 
using namespace std; typedef int Request; class Handler { public: Handler(Handler *pSuccessor = NULL):m_pSuccessor(pSuccessor){}; // 纯虚函数,由派生类实现 virtual void handleRequest(Request request) = 0; protected: Handler* m_pSuccessor; }; class ConcreateHandler1: public Handler { public: void handleRequest(Request request) { if(request > 0) { cout<<"ConcreateHandler1 handle request."<
handleRequest(request); } } } }; class ConcreateHandler2: public Handler { public: ConcreateHandler2(Handler *pSuccessor = NULL){ m_pSuccessor = pSuccessor; } void handleRequest(Request request) { if(request > 10) { cout<<"ConcreateHandler2 handle request."<
handleRequest(request); } } } }; int main() { Handler *p1 = new ConcreateHandler1(); Handler *p2 = new ConcreateHandler2(p1); Request request = 1; p2->handleRequest(request); request = 12; p2->handleRequest(request); system("pause"); return 0; }

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

你可能感兴趣的文章
server 2008 任务栏无最大化、最小化窗口
查看>>
利用Office365创建企业内部KB库
查看>>
C++语言中volatile关键字的作用
查看>>
01_04 JSP基础语法之forward
查看>>
VMware嵌套虚拟化
查看>>
CPP 调用简单的汇编函数
查看>>
Golang Slice interface and array concatenation
查看>>
java nio
查看>>
nginx反向代理配置及优化
查看>>
linux下使用free命令查看实际内存占用
查看>>
整合 Tachyon 运行 Spark(译)
查看>>
外部链接增加nofllow
查看>>
mysql update safe model 一些问题
查看>>
Java项目开发环境构建工具 Gradle 使用笔记(简单、基本)
查看>>
Scala的模式匹配和条件类
查看>>
Scala函数与对象
查看>>
前端Jquery小结
查看>>
浅谈Java的输入输出流
查看>>
Eclipse安装SVN插件
查看>>
gradle3.1初步了解
查看>>