码迷,mamicode.com
首页 > 编程语言 > 详细

c++设计模式---适配器模式

时间:2015-04-25 15:12:49      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

#include<iostream>
using namespace std;


//适配器模式,通过调用第三方类库实现软件功能


//基类Base
class Base
{
public :virtual void process()=0;//process()为纯虚函数,多态
virtual ~Base(){}
};


//Adaptee类中的Request()函数已经实现了Adapter类process()需要的功能,
class Adaptee
{
public :void  Request()
{
cout<<"Adaptee Request"<<endl;

}


};


class Derived:public Base
{
public:void process()
  {
  cout<<"Derived process"<<endl;
  }
  
};


//想要调用类Adaptee的函数,用Adaptee的对象或指针才可以。
//在Adapter类的数据成员里声明一个Adaptee的对象或指针,实现类与类之间的通信
class Adapter:public Base
{
private:Adaptee *pAdaptee;
public:Adapter(Adaptee *t){pAdaptee =t;}
  void process()
  {pAdaptee->Request();}
};


int main (void)
{
Adaptee *p=new Adaptee();
Base *pAdapter =new Adapter(p);//基类指针指派生类对象
//此处不多态也可以,Adapter *pAdapter =new Adapter(p);
  pAdapter->process();
  delete p;
  delete pAdapter;
  长长
return 0;
}

c++设计模式---适配器模式

标签:

原文地址:http://blog.csdn.net/smallsun_229/article/details/45269753

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!