Template模式

来源:互联网 发布:姚明和奥尼尔对决数据 编辑:程序博客网 时间:2024/06/08 01:30

template method 隔离不变与变化,把不变的部分上移到父类中,由子类去实现变化的部分

#include <vector>#include <iostream>using namespace std;class A {public:    virtual ~A() {}    // template method    void common() {        read();   // 唯一方法        print();  // 多态方法    }    void read() {        cout << " A read " << endl;    }    virtual void print() {        cout << " A print " << endl;    }};class B : public A {public:    void print() {        A::print();        cout << " B print " << endl;    }};class C : public A {public:    void print() {        A::print();        cout << " C print " << endl;    }};int main() {    B b;    b.common();    C c;    c.common();}
原创粉丝点击