学了C++基本的语法都知道继承可以让子类拥有更多的功能,除了继承还有组合,委托,也能让一个类的功能增加。设计模式,这个设计是设计继承,组合,委托,之间相互叠加的方式,让其符合业务需求。

责任链模式是继承 +
委托的运用。在以下代码中,定义一个抽象管理者类,派生经理类,总监类,总经理类。有些决定经理可以做,如果经理不能做,那么调用其委托的总监来做,若总监也不能做,则调用其委托的总经理来做。

这些代码都是在学习这些的过程中码的。。。。。

上一篇:武侠小说之令狐冲篇–适配器模式C++
下一篇:黄药师及其五大弟子功夫继承关系篇----命令模式C++实现
上代码,亲测有效!

Exe : Chain.og++ -o Exe Chain.o
main.o : Chain.cppg++ -c -g Chain.cpp
clean :rm Chain
#include <iostream>
#include <string>
using namespace std;//责任链模式class Abstract_Manage
{public:virtual void deal_with(string worker_name, int money) = 0;Abstract_Manage* p_Abstract_Manage = NULL;string Manage_Name;
};class Km : public Abstract_Manage
{public:Km(Abstract_Manage* p_Abstract_Manage, string Manage_Name);void deal_with(string worker_name, int money);
};
Km::Km(Abstract_Manage* p_Abstract_Manage, string this_Manage_Name)
{this->p_Abstract_Manage = p_Abstract_Manage;this->Manage_Name = this_Manage_Name;
}void Km::deal_with(string worker_name, int money)
{if(money < 10000){cout << this->Manage_Name << "同意" << worker_name << "加薪" << money << "元" << endl;}else{cout << "Let me tell you a story !" << endl;}
}class M : public Abstract_Manage
{public:M(Abstract_Manage* p_Abstract_Manage, string Manage_Name);void deal_with(string worker_name, int money);
};
M::M(Abstract_Manage* p_Abstract_Manage, string this_Manage_Name)
{this->p_Abstract_Manage = p_Abstract_Manage;this->Manage_Name = this_Manage_Name;
}void M::deal_with(string worker_name, int money)
{if(money < 5000){cout << this->Manage_Name << "同意" << worker_name << "加薪" << money << "元" << endl;}else{p_Abstract_Manage->deal_with(worker_name, money);}
}class Dm : public Abstract_Manage
{public:Dm(Abstract_Manage* p_Abstract_Manage, string Manage_Name);void deal_with(string worker_name, int money);
};
Dm::Dm(Abstract_Manage* p_Abstract_Manage, string this_Manage_Name)
{this->p_Abstract_Manage = p_Abstract_Manage;this->Manage_Name = this_Manage_Name;
}void Dm::deal_with(string worker_name, int money)
{if(money < 2000){cout << this->Manage_Name << "同意" << worker_name << "加薪" << money << "元" << endl;}else{p_Abstract_Manage->deal_with(worker_name, money);}
}int main(void)
{Km* p_Km = new Km( NULL, "裘千尺");M* p_M = new M(p_Km, "裘千仞");Dm* p_Dm = new Dm(p_M, "裘千丈");p_Dm->deal_with("杨过", 60000);delete p_Dm;delete p_M;delete p_Km;return 0;
}

哎呦喂ヾ(✿゚▽゚)ノ~路长馆小,雪轻帘薄,酒热乎,这位爷~您ヾ(✿゚▽゚)ノ~ 里面坐~
本公众号专注分享C++,ffmpeg,opencv等相关音视频知识
webrtc,udp,tcp,rtsp,rtmp,srt/nginx+rtmp等流媒体协议和服务器
同时也会有大厂音视频技术专家不定期直播分享…
国人开发流媒体srs服务器,及yangrtc(国人版的webrtc)协议新动向
偶尔分享下程序员梦呓碎碎念(๑•॒̀ ູ॒•́๑)啦啦啦
目前刚刚开通,接受读者的优质投稿…
鉴于国内音视频圈子小,起步晚,以致分享少,门槛高,特开通分享,一起扇动这阵风吧!
微信扫描下方二维码,关注公众号,赶快进入音视频开发者社区吧!

裘千尺裘千仞裘千丈与杨过篇--责任链模式C++实现相关推荐

  1. 【北行★户外】7月19日周六 闲游 密云水库、 白云峡谷、捧河湾 、千尺瀑 捞虾拾贝、戏水,一日休闲小穿越活动

    <去白云峡谷 捧河湾 溯溪拾贝 捞虾捉鱼 戏水一日休闲游> 活动地点>横岑岭-五道岭-天池-千尺瀑 捧河湾 白河滩 适宜人群>休闲出游,适合身体健康喜欢运动的各类人群 集合时间 ...

  2. OSChina 周二乱弹 ——桃花潭水深千尺,淹死产品行不行?

    2019独角兽企业重金招聘Python工程师标准>>> Osc乱弹歌单(2017)请戳(这里) [今日歌曲] @发型不可乱 :码代码累了就听一下魔兽主题曲,<The Dawn& ...

  3. 图灵奖得主杨立昆:GPT模式五年就不会有人用了,世界模型才是AGI未来

    本文经授权转自公众号腾讯科技(ID:qqtech) 2023年6月9日的北京智源大会上开幕式上,机器学习三巨头之一杨立昆(Yann Lecun)进行了远程致辞,发表了名为<朝向能学习, 思考和计 ...

  4. 朝向能学习, 思考和计划的机器进发——图灵奖得主杨立昆:GPT模式五年就不会有人用了,世界模型才是AGI未来

    目录 朝向能学习, 思考和计划的机器进发--图灵奖得主杨

  5. 千锋ui设计基础视频教程icon图标入门篇

     Icon图标设计是ui设计师所要掌握和学习的基础技能.说到icon图标,我们不得不提及icon图标的用途. 一方面,它具有浓厚营销色彩.为什么这么说?当用户首次看到应用时,图标就是他们最先看到的东西 ...

  6. 杨过小龙女玉女心经篇--简单工厂模式

    Mountain:终南山 Single_arm:杨过 Little_dragon_maiden:小龙女 Jade girl's Heart Sutra:玉女心经 Dust_world:尘世 being ...

  7. 一千个 Python 库打包,这就是一篇库的字典,哪里需要查哪里!

    环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. v ...

  8. 黄药师及其五大弟子功夫继承关系篇----命令模式C++实现

    学了C++基本的语法都知道继承可以让子类拥有更多的功能,除了继承还有组合,委托,也能让一个类的功能增加.设计模式,这个设计是设计继承,组合,委托,之间相互叠加的方式,让其符合业务需求. 命令模式是委托 ...

  9. 武侠小说之令狐冲篇--适配器模式C++

    学了C++基本的语法都知道继承可以让子类拥有更多的功能,除了继承还有组合,委托,也能让一个类的功能增加.设计模式,这个设计是设计继承,组合,委托,之间相互叠加的方式,让其符合业务需求. 适配器要完场什 ...

最新文章

  1. 初识php异步多线程扩展swoole
  2. mybatis学习3之分页的实现
  3. 2引擎帮助文档_【虚幻4】初学者系列教程-《基础入门》#2-学习虚幻4的15个途径...
  4. 2022大厂面试必问要点总结
  5. Java多线程下载并具断点续传功能JAR
  6. 机器学习——HMM(隐马尔可夫模型的基本概念)(一)
  7. 有关于腾讯地图服务端IP定位接口的获取当前城市的处理
  8. Python - 进程/线程相关整理
  9. Floyd算法 求多源汇最短路
  10. Jsoup爬虫以及防反爬
  11. windows 本地搭建git仓库_windows局域网搭建本地git代码版本管理仓库
  12. Android开发屏幕适配
  13. 微信小程序开发前后端交互快速入门
  14. 老生常谈!数据库如何存储时间?你真的知道吗?
  15. SparkSql create table导入本地excel
  16. 我的世界服务器退出信息,我的世界模仿他人进入/退出服务器
  17. 技术状态管理(六)-技术状态审核
  18. 解锁网易云音乐小工具_什么?网易云音乐又变灰了
  19. 网速网吧服务器型号,网吧的网速为什么那么快(无盘系统为何那么快)
  20. R语言 无法打开文件: No such file or directory

热门文章

  1. 走过的路,做过的事——我的2014
  2. git 生成ssh公钥
  3. python bottle 制作表单_python bottle框架
  4. 【出海日系列活动】谷歌开发者社区 | 开发者扬帆出海,北京站报名启动
  5. java中怎么调用非静态方法有哪些_java中 静态方法和非静态方法的调用
  6. JSP..由sun公司提供的动态web资源开发技术
  7. 程序员32岁前跳槽大多数看薪资,那里福利好去那里,32岁后请慎重
  8. php 实现店铺装修4
  9. 在NGUI使用图片文字(数字、美术字)(BMFont)
  10. 【Android安全】adb汇总