c++ 适配器模式(adapter)
当两个系统的接口不一样时,我们就要重新封装一下接口,以便于当前系统的调用。这种模式叫做适配器模式。适配器模式分为两种:
1.对象组合适配器(Object Adapter)
2.类适配器(Class Adapter)采用类继承的方式实现。
下面是对象适配器的使用。
#include <iostream> #include <string> using namespace std; class CCnOutlet { public: virtual ~CCnOutlet() { }; virtual void Cnplug() { //cout << "中式插座!" << endl; }; }; class CEnOutlet { public: void EnPlug() { cout<<"use en plug" << endl; } }; class CCnOutletAdapter : public CCnOutlet { public: CCnOutletAdapter(CEnOutlet* pEnOutlet):m_pEnOutlet(pEnOutlet) {}; virtual ~CCnOutletAdapter() {}; virtual void Cnplug() { cout << "adapter transfer" << endl; m_pEnOutlet->EnPlug(); } private: CEnOutlet* m_pEnOutlet; }; int main() { CEnOutlet *pEnOutlet = new CEnOutlet; CCnOutlet *pCnOutlet = new CCnOutletAdapter(pEnOutlet); pCnOutlet->Cnplug(); delete pEnOutlet; delete pCnOutlet; system("pause"); return 0; }