定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。

// TemplateMethod.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
using namespace std;

class ITemplateMethod
{
public:
 virtual void TemplateMethod()
 {
  OperaterMethod1();
  OperaterMethod2();
 }

 virtual void OperaterMethod1() = 0;
 virtual void OperaterMethod2() = 0;
};

class ConcreateOperator: public ITemplateMethod
{
public:
 virtual void OperaterMethod1()
 {
  cout<<"OperaterMethod1"<<endl;
 }

 virtual void OperaterMethod2()
 {
  cout<<"OperaterMethod2"<<endl;
 }
};

 

int _tmain(int argc, _TCHAR* argv[])
{
 ConcreateOperator  myOperator;
 myOperator.TemplateMethod();
 system("pause");

 return 0;
}

 

 

posted on 2011-12-13 17:41  Just a Programer  阅读(151)  评论(0)    收藏  举报