zoukankan      html  css  js  c++  java
  • 设计模式 之 《适配器模式》

    #ifndef __ADAPTER_MODEL__
    #define __ADAPTER_MODEL__
    
    #include <iostream>
    using namespace std;
    
    //GOOD:双方都不适合修改的时候,可以考虑使用适配器模式
    
    class Target
    {
    public:
        virtual void request(){ cout<<"普通的请求"<<endl; }
    };
    
    class Adaptee
    {
    public:
        void specificalRequest(){ cout<<"特殊请求"<<endl; }
    };
    
    class Adapter : public Target
    {
    private:
        Adaptee* adapt;
    public:
        Adapter(){ adapt = new Adaptee(); }
        ~Adapter(){ delete adapt; }
        virtual void request()
        {
            adapt->specificalRequest();
            Target::request();
        }
    };
    
    #endif //__ADAPTER_MODEL__
    
    /*
    #include "Adapter.h"
    int _tmain(int argc, _TCHAR* argv[])
    {
    Adapter* ada = new Adapter();
    ada->request();
    delete ada;
    
    return 0;
    }
    */
  • 相关阅读:
    清除div中内容
    jq选中问题
    ios 笔记
    ios学习笔记01
    checkbox判断选中
    滚动条
    tooltip
    页面跳转的问题
    freemark 判断是否为空 是否存在
    构造析构与虚函数
  • 原文地址:https://www.cnblogs.com/MrGreen/p/3420525.html
Copyright © 2011-2022 走看看