青春从未醒

博客Markdown编辑器上线啦那些年我们追过的Wrox精品红皮计算机图书PMBOK第五版精讲视频教程火星人敏捷开发1001问

设计模式_适配器

分类:设计模式

设计模式

//类适配器#include<memory>#include<iostream>using namespace std;class Target { public:virtual void request(){cout << "Target::Request"<<endl;}};class Adaptee{public: void SpecificRequest(){cout << "adaptee::SpecificRequest()"<<endl;}};class Adapter : public Target , Adaptee{public:void request(){Adaptee::SpecificRequest ();}};int main(int argc, char *argv[]){auto_ptr<Target> tarobj ( new Adapter() );//适配器就是引入中间类进行后台链接//Target *tarobj = new Adapter();tarobj->request ();return 0;}//对象适配器(比类适配器常用)#include<iostream>#include<memory>using namespace std;class Target{public:Target() {}virtual ~Target(){cout <<"delete target"<<endl;}virtual void Request(){cout << "Target request" << endl;}};class Adaptee{public:Adaptee() {}void SpecialRequest(){cout << "Adaptee::request" <<endl;}};class Adapter : public Target{public:Adapter() : m_Adaptee(new Adaptee()){}~Adapter(){if( m_Adaptee != NULL){delete m_Adaptee;cout << "delete Adaptee"<<endl;m_Adaptee = NULL;}}void Request (){m_Adaptee->SpecialRequest ();}private:Adaptee *m_Adaptee;};int main(int argc, char *argv[]){auto_ptr<Target> tarobj (new Adapter());tarobj->Request ();return 0;}

上一篇NokiaX NokiaX2 NokiaXL 开发android adb 找不到设备 解决方案

顶0踩0

主题推荐猜你在找

查看评论

* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

核心技术类目

,见过旅行风景,就这样,慢慢学会了长大。

青春从未醒

相关文章:

你感兴趣的文章:

标签云: