我是靠谱客的博主 怕孤单酒窝,这篇文章主要介绍3_2 TemplateMethodMode 模板方法模式,现在分享给大家,希望可以做个参考。

// 定义:定义一个操作中的算法框架,将一些步骤延迟到子类中实现
//
// 模式举例:去下馆子吃饭,分为点单,吃什么,厨师注意,买单
//        等事项,其中点单和买单是固定的,吃什么和厨师注
//        意什么灵活多变
//	
// 模式实战经验:网络封包的串行化和反串行化
//	
//

#include<iostream>
using namespace std;

class ChiFan
{
public:
  void XiaGuanZi()
  {
  	dianDan();
  	chiDongXi();
  	zhuYiShiXiang();
  	maiDan();
  }

protected:
  //公用方法,在基类中实现非虚函数
  void dianDan()
  {
  	cout <<"叫服务员,点单"<<endl;
  }
  
  //纯虚函数,子类必须实现
  virtual void chiDongXi()=0;
  
  //钩子方法,可重写,可不重写,虚函数
  virtual void zhuYiShiXiang(){}
  
  void maiDan()
  {
  	cout <<"叫服务员,买单"<<endl;
  }
};

//吃面条
class ChiMian : public ChiFan
{
protected:
  virtual void chiDongXi()
  {
  	cout <<"来碗面条"<<endl;
  }
  virtual void zhuYiShiXiang()
  {
  	cout <<"面条多放辣子"<<endl;
  }
};

//吃川菜
class ChiChuanCai : public ChiFan
{
protected:
  virtual void chiDongXi()
  {
  	cout <<"上川菜"<<endl;
  }
  virtual void zhuYiShiXiang()
  {
  	cout <<"做菜不要放香菜"<<endl;
  }
};

int main()
{
  ChiFan * chifan = new ChiMian();
  chifan->XiaGuanZi();
  return 0;
}
    
    

 

最后

以上就是怕孤单酒窝最近收集整理的关于3_2 TemplateMethodMode 模板方法模式的全部内容,更多相关3_2内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(111)

评论列表共有 0 条评论

立即
投稿
返回
顶部