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;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值