Template 模块模式

来源:互联网 发布:面朝大海春暖花开 知乎 编辑:程序博客网 时间:2024/05/22 06:33

模块模式(Template)其实就是使用虚函数实现多态性,不同类的实例调用同一个接口,得到不同的结果:

#include "stdafx.h"#include <iostream>using namespace std;class ObstractClass{public:ObstractClass(){}virtual void func1(){cout << "func1" << endl;}virtual void func2(){cout << "func2" << endl;}};class ConcreteClass1 : public ObstractClass{public:ConcreteClass1(){}void func1(){cout << "ConcreteClass1 func1" << endl;}};class ConcreteClass2 : public ObstractClass{public:ConcreteClass2(){}void func1(){cout << "ConcreteClass2 func2" << endl;} protected:private:};void testTemplate(){ObstractClass *pClass1 = new ConcreteClass1();ObstractClass *pClass2 = new ConcreteClass2();pClass1->func1();pClass2->func1();}


0 0