大胖的部落格

Just a note

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  112 随笔 :: 0 文章 :: 3 评论 :: 0 Trackbacks
基类中定义了一个算法的轮廓,算法每一步具体的实现留给了派生类。

#include <iostream>
#include 
<list>
#include 
<algorithm>

using namespace std;


class Base
{
public:
    
//算法框架
    void TemplateMethod()
    
{
        PrimitiveMethodA();
        PrimitiveMethodB();
    }

protected:
    
//交给派生类实现
    virtual void PrimitiveMethodA() = 0;
    
virtual void PrimitiveMethodB() = 0;
}
;

class Derived: public Base
{
private:
    
void PrimitiveMethodA(){cout<<"Method A"<<endl;}
    
void PrimitiveMethodB(){cout<<"Method B"<<endl;}
}
;

int main()
{
    Base
* p =new Derived;
    p
->TemplateMethod();
    delete p;
    
    
return 0;
}
posted on 2009-06-10 15:22 大胖 阅读(108) 评论(0)  编辑 收藏 引用 所属分类: Design Pattern

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理