博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Adapt模式
阅读量:6919 次
发布时间:2019-06-27

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

hot3.png

//Adapt模式 //组合模式//需要被Adapt的类class ITarget{public:	ITarget(){}	virtual~ITarget(){}public:	virtual void Request()=0;};// 与被Adapt对象提供不兼容接口的类class Adaptee{public:	Adaptee(){}	~Adaptee(){}public:	void SpecialRequest(){printf("this is a call SpecialRequest\n");};};class Adapter: public ITarget{public:	Adapter(Adaptee* pAdaptee){}    ~Adapter(){}	virtual void Request()	{		m_pAdptee->SpecialRequest();	}private:	Adaptee* m_pAdptee;};int _tmain(int argc, _TCHAR* argv[]){	//Adapt模式	Adaptee *pAdaptee=new Adaptee;	ITarget *padapter=new Adapter(pAdaptee);	padapter->Request();	delete pAdaptee;	delete padapter;	//Adapt模式	getchar();	return 0;}//继承模式//需要被Adapt的类class ITarget{public:	ITarget(){}	virtual~ITarget(){}public:	virtual void Request()=0;};// 与被Adapt对象提供不兼容接口的类class Adaptee{public:	Adaptee(){}	virtual~Adaptee(){}public:	void SpecialRequest(){printf("this is a call SpecialRequest\n");};};class Adapter0: public ITarget,Adaptee{public:	Adapter0(){}	~Adapter0(){}	virtual void Request()	{		Adaptee::SpecialRequest();	}};//继承模式int _tmain(int argc, _TCHAR* argv[]){	//Adapt模式	ITarget *padapter=new Adapter0;	padapter->Request();	delete padapter;	//Adapt模式	getchar();	return 0;}//Adapt模式

转载于:https://my.oschina.net/u/221120/blog/886714

你可能感兴趣的文章
JavaScript30秒, 从入门到放弃之Array(六)
查看>>
RabbitMQ的安装和使用
查看>>
WebAssembly起步
查看>>
基于CentOS搭建Hexo博客--设置NexT主题及个性化定制
查看>>
百度移动端首页秒开学习
查看>>
【304天】每日项目总结系列042(2017.12.06)
查看>>
数人云|给还在犹豫选择的你,微服务架构与整体架构的各自优势
查看>>
ES6之数值的扩展
查看>>
JavaScript Event loop 事件循环
查看>>
Java究极打基础之ArrayList篇
查看>>
Java窗口(JFrame)从零开始(4)——流布局+边界布局+网格布局
查看>>
手机office办公——微软推出安卓手机端Office Mobile应用
查看>>
MySQL忘记密码后重置密码(Mac )
查看>>
raid卡的常用命令
查看>>
JavaScript 类型转换
查看>>
谈谈基于机器学习的编程到底比传统编程强在哪里?
查看>>
终极指南:如何使用Visual Studio Code进行 Java 开发?
查看>>
GitHub发布2017年度开发者报告,用户达2400万
查看>>
Java EE供应商和伦敦Java用户组宣布新的MicroProfile
查看>>
Python中的集合类模块collections详解
查看>>