• 建造者模式(C++)


    #include <iostream>
    using namespace std;
    
    class buildcomputer
    {
    public:
        buildcomputer(){}
        virtual ~buildcomputer(){}
        virtual void buildmouse()=0;
        virtual void buildmointor()=0;
        virtual void buildkeyboard()=0;
        virtual void buildhost()=0;
    };
    
    class winbuildcomputer : public buildcomputer
    {
    public:
        winbuildcomputer(){}
        virtual ~winbuildcomputer(){}
        void buildmouse(){cout<<"build win mouse"<<endl;}
        void buildmointor(){cout<<"build win mointor"<<endl;}
        void buildkeyboard(){cout<<"build win keyboard"<<endl;}
        void buildhost(){cout<<"build win host"<<endl;}
    };
    
    class macbuildcomputer : public buildcomputer
    {
    public:
        macbuildcomputer(){}
        virtual ~macbuildcomputer(){}
        void buildmouse(){cout<<"build mac mouse"<<endl;}
        void buildmointor(){cout<<"build mac mointor"<<endl;}
        void buildkeyboard(){cout<<"build mac keyboard"<<endl;}
        void buildhost(){cout<<"build mac host"<<endl;}
    };
    
    class director
    {
    private:
        buildcomputer *instance;
    
    public:
        director(buildcomputer *bd)
            :instance(bd){}
        virtual ~director(){}
        void creator()
        {
            instance->buildmouse();
            instance->buildmointor();
            instance->buildkeyboard();
            instance->buildhost();
        }
    };
    
    int main()
    {
        buildcomputer *p=new macbuildcomputer;
        director *dc=new director(p);
        dc->creator();
        delete dc;
        delete p;
    
        p=new winbuildcomputer;
        dc=new director(p);            
        dc->creator();
        delete dc;
        delete p;
    
        system("pause");
        return 0;
    }
  • 相关阅读:
    rsyslog+loganalyzer配置
    Python字符串格式化
    awk
    haproxy配置
    CentOS7服务管理
    Nginx缓存
    父指针 子指针
    矩阵 特征向量
    指针的运算
    const 与指针 的用法
  • 原文地址:https://www.cnblogs.com/tiandsp/p/2560285.html
Copyright © 2020-2023  润新知