#include <iostream>
#include "knife.h"
#include "ak47.h"
#include "character.h"
int main()
{
// 策略(Strategy)模式的定义:
// 该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,
// 且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,
// 它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,
// 并委派给不同的对象对这些算法进行管理。
// 环境(Context)类
Character * pTer = new Character();
// 具体策略类:匕首
IWeaponStrategy * pKnife = new Knife();
// 环境类设置策略
pTer->setWeapon(pKnife);
// 环境类调用策略方法
pTer->throwWeapon();
std::cout << std::endl;
// 具体策略类:AK47
IWeaponStrategy * PAK47 = new AK47();
// 环境类设置策略
pTer->setWeapon(PAK47);
// 环境类调用策略方法
pTer->throwWeapon();
delete pKnife;
delete PAK47;
delete pTer;
return 0;
}

繁星璀璨G
- 粉丝: 4225
最新资源
- 网站项目管理分析.doc
- 检测技术与自动化装置聂彦林.doc
- C650车床的控制线路用PLC改造方案设计书.doc
- 图书管理系统软件测试方案.doc
- 全国计算机一级测验试题2017.doc
- HYPLC控制方案设计书文档.doc
- 电脑常用工具软件实用教程.ppt
- 中央泵房自动化集控技术规格书.doc
- 融合图像显著性的YOLOv3船舶目标检测算法研究.docx
- 探析互联网思维下广播电视媒体融合的发展趋势.docx
- 大数据时代下的电子商务会计体系研究.docx
- 网络技术在系统集成项目中的实践.docx
- 农村劳动力转移培训项目管理开发与培训管理的思考.doc
- DSP技术在现代移动通信领域的应用(精).doc
- 瑞吉欧软件体系合作项目书.doc
- 海外电力工程项目管理融资与财务问题的应对策略研究.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



评论0