zoukankan      html  css  js  c++  java
  • 模板模式(C++)

    #include <iostream>
    using namespace std;
    
    class Road
    {
    public:
        Road(){}
        virtual ~Road(){}
        void operation()
        {
            start();
            step1();
            step2();
            step3();
            end();
        }
        void start(){cout<<"start"<<endl;}
        void end(){cout<<"end"<<endl;}
        virtual void step1()=0;
        virtual void step2()=0;
        virtual void step3()=0;
    };
    
    class way1 : public Road
    {
    public:
        way1(){}
        virtual ~way1(){}
        void step1(){cout<<"way1_step1"<<endl;}
        void step2(){cout<<"way1_step2"<<endl;}
        void step3(){cout<<"way1_step3"<<endl;}
    };
    
    class way2 : public Road
    {
    public:
        way2(){}
        virtual ~way2(){}
        void step1(){cout<<"way2_step1"<<endl;}
        void step2(){cout<<"way2_step2"<<endl;}
        void step3(){cout<<"way2_step3"<<endl;}
    };
    
    int main()
    {
        Road *pr1=new way1;
        Road *pr2=new way2;
    
        pr1->operation();
        pr2->operation();
    
        delete pr2;
        delete pr1;
    
        system("pause");
        return 0;
    }
  • 相关阅读:
    fabu dao fenleizhong
    net core 发布到服务器的方式
    暗示net core
    new post
    gg
    asb
    Nodejs 8.0 踩坑经验汇总
    禁止未发布的博文上首页等
    SortedList
    JSON.stringify 语法实例讲解
  • 原文地址:https://www.cnblogs.com/tiandsp/p/2571341.html
Copyright © 2011-2022 走看看