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;
}
原文地址:https://www.cnblogs.com/onlycxue/p/3476932.html