c++设计模式---适配器模式
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;
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。