模板方法模式 Template
2015-07-13 16:02
155 查看
Template模板方法模式
作用:定义一个操作中的算法的骨架。而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
在基类的算法模板中的子算法,设为虚拟函数,将此虚拟函数放至子类中实现,类似思想可参考另一篇博文中的做法,
/article/5875159.html 多继承时,多个基类中存在型别相同的虚函数,该怎么做?,还是有点类似性的
作用:定义一个操作中的算法的骨架。而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
在基类的算法模板中的子算法,设为虚拟函数,将此虚拟函数放至子类中实现,类似思想可参考另一篇博文中的做法,
/article/5875159.html 多继承时,多个基类中存在型别相同的虚函数,该怎么做?,还是有点类似性的
// TemplateMode.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <IOSTREAM> using namespace std; class Abstract{ public: virtual void templateoprate(){ this->operation1(); this->operation2(); } virtual void operation1()=0; virtual void operation2()=0; }; class Concreatechild1:public Abstract{ public: void operation1(){ cout<<"child1:operation1"<<endl; } void operation2(){ cout<<"child1:operation2"<<endl; } }; class Concreatechild2:public Abstract{ public: void operation1(){ cout<<"child2:operation1"<<endl; } void operation2(){ cout<<"child2:operation2"<<endl; } }; int main(int argc, char* argv[]) { Abstract * pchild = new Concreatechild1; pchild->templateoprate(); pchild = new Concreatechild2; pchild->templateoprate(); return 0; }
相关文章推荐
- Properties类文件的的操作
- 发现通用流感疫苗的新路径
- 【Java】动物收容所
- 经典算法总结之AdaBoost与随机森林
- Button添加图片和文字
- 左值,右值 及(++a)+=(a++)和(++a)=(++a)+(a++)计算
- jQuery插件第五十六:十七种翻页插件
- 通过maven构建一个java项目
- 实现ssh免密码登录
- linux mkdir命令
- java.net.InetAddress.getLocalHost(InetAddress.java:1473) java.net.Unknown
- 转-浅谈HTTP-GET 、 HTTP-POST 和SOAP
- WebSocket 帮助
- MonkeyTalk 传输协议
- poj解题报告——1185
- 多线程GCD使用场景示例
- 阿里巴巴的菜鸟网络
- **X的用法
- dojo常见知识点
- JAVA更改软件标题栏默认图标的方法