#include <iostream> using namespace std;/*模版方法模式是将不变的行为移动到父类中,去除子类中的重复代码定义一个操作中的算法骨架,而将一些步骤延迟实现在子类中,这种模式使得可以在不改变算法的结构下即可重定义算法的特定步骤 */class AbstractClass { public:virtual void PrimitiveOperation1() = 0;virtual void PrimitiveOperation2() = 0;void TemplateMethod(){PrimitiveOperation1();PrimitiveOperation2();} };class ConcreteClassA : public AbstractClass { public:void PrimitiveOperation1(){cout<<"A Primitive1"<<endl;} void PrimitiveOperation2(){cout<<"A Primitive2"<<endl;} };class ConcreteClassB : public AbstractClass { public:void PrimitiveOperation1(){cout<<"B Primitive1"<<endl;} void PrimitiveOperation2(){cout<<"B Primitive2"<<endl;} };int main() {AbstractClass* pClass = NULL;pClass = new ConcreteClassA();pClass->TemplateMethod();pClass = new ConcreteClassB();pClass->TemplateMethod();return 0; }
自己电脑做网站服务器广域网访问西安网站关键词优化推荐
转载于:https://www.cnblogs.com/yanjiu/archive/2012/08/08/2628429.html