设计模式之模板模式 template
2024-08-24 10:31:14
设计模式 模板模式
如果有一个流程如下
step1();
step2();
step3();
step4();
step5();
其中step3() step5()是需要用户自己编写使用
其他步骤是固定的
那么可以写成
// 11111.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include <iostream>
#include <memory> using namespace std; class Lib {
public:
void libstep1() {
std::cout << "step1" << std::endl;
}
void libstep2() {
std::cout << "step2" << std::endl;
}
void libstep4() {
std::cout << "step4" << std::endl;
} virtual void userstep3() = 0;
virtual void userstep5() = 0; void run() {
libstep1();
libstep2();
userstep3();
libstep4();
userstep5();
}
virtual ~Lib() {};
}; class User :public Lib {
public:
void userstep3() {
std::cout << "step3" << std::endl;
}
void userstep5() {
std::cout << "step5" << std::endl;
}
}; int main()
{
User u;
u.run(); Lib* l = new User();
l->run();
delete l; shared_ptr<Lib> sl(new User());
sl->run(); return 0;
}
最新文章
- ASP.NET MVC 5 Web编程2 -- URL映射(路由原理)
- git warning: LF will be replaced by CRLF in...
- codeforces A. Puzzles 解题报告
- recyclview多条目布局
- SIlverlight外包公司【技术展望】— Silverlight5.1.2最新版本发布,Silverlight 的更新从未停止。
- Mac下无法拷贝文件到移动硬盘
- 【Oracle 函数索引】一次数据库的优化过程
- Uva592 Island of Logic
- Windows Phone中用到的类名及对应的命名控件及引用
- php远程读取json的方法
- mac 上搭建SVN
- @(报错)could not find the main class, Program will exit(已解决)
- windows查看端口占用命令
- CenterOS 7 基础命令学习
- Web、WCF和WS通过Nginx共享80端口
- 过滤器Filter与监听器Listener
- Burpsuite Sqlmap Nmap入门总结
- CF603E Pastoral Oddities
- vue,vux判断字符串是否是undefined
- FCC JS基础算法题(6):Truncate a string(截断字符串)