思想:在父类中定义处理流程的框架,在子类中实现具体的处理方法

优点:在父类中定义处理的算法,无需在每个子类中重复编写

继承关系图:

例子:

//接口定义
class Parent
{
public:
virtual void open() = 0; //需要子类实现
virtual void print() = 0; //需要子类实现
virtual void close() = 0; //需要子类实现
virtual void work() //模板方法,定义处理的流程框架
{
open();
for(int i=0; i<5; i++)
{
print();
}
close();
}
};
//子类实现具体的方法
class Child: public Parent
{
public:
void open() //子类具体实现
{
cout << "----------------------" << endl;
} void print() //子类具体实现
{
cout << " Good Good Good Good" << endl;
} void close() //子类具体实现
{
cout << "----------------------" << endl;
}
};
int main()
{
Parent* p = new Child();
p->work();
return 0;
}

最新文章

  1. NSoperation用法详解及与GCD的比较
  2. 【转】ubuntu 重启命令,ubuntu 重启网卡方法
  3. WebSphere试用过期问题处理
  4. Linux 下Shell 脚本几种基本命令替换区别
  5. FPGA最小系统分析与电路设计
  6. sender是什么意思C#
  7. nodejs快速入门
  8. NServiceBus-网关和多站点分布
  9. 使用zend studio配置Xdebug调试PHP教程
  10. 去除windows的Shift+Space 全角半角切换
  11. js或者cs代码拼接html
  12. javascript 全选与反选
  13. ZOJ 1610 间隔染色段树
  14. Vulkan Tutorial 05 物理设备与队列簇
  15. iOS:我的学习路径
  16. thinkphp查询某个字段为空的数据
  17. 剑指offer例题分享--8
  18. 项目实战03:Keepalived 实现高可用
  19. TCP 三次握手原理,你真的理解吗?
  20. express next function

热门文章

  1. lw_oopc(c语言实现面向过程宏文件)解析
  2. Shiro简单加密服务
  3. Linux 查看日志的时候常用命令总结
  4. html+css快速入门教程(5)
  5. Elasticsearch从入门到放弃:分词器初印象
  6. IDEA 2020.1 插件市场无法找到官方的汉化包解决办法
  7. python之浅谈计算机基础
  8. Web移动端 自适应缩放界面
  9. finally 关键字
  10. PCA算法 | 数据集特征数量太多怎么办?用这个算法对它降维打击!