#include "stdafx.h"
#include <vector>
#include <iostream>
#include <string>
#include <map>
using namespace std;
typedef map<string,int> vint;
//定义模板函数!
template<class T>
bool output(T _t){
return _t.out();
}
//策略1
class A
{
public:
bool out(){ printf("i am an A !\n"); return false; };
};
//策略2
class B
{
public:
bool out(){printf("i am an B!\n"); return true;};
};
//上下文
void outcontext(){
A a1;
B b1;
if (!output(a1))
{
output(b1);
}
}
int main(int argc, char* argv[])
{
outcontext();
return 0;
}
可能都可以统一为模板方法模式!
分享到:
相关推荐
策略模式的 C++ 代码实现, ide :XCode
设计模式C++学习之策略模式(Strategy)
用C++模板方式实现自定义单链表,交流学习用
c++设计模式-行为型模式-策略模式;qt工程;c++简单源码; 策略(Strategy)模式...策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。
用c++中的模板实现了链表多项式相加,做的不是很好。仅供参考
用c++模板类实现矩阵的四则运算,其中乘法和除法为点乘和点除运算,即相应元素的运算
用模板实现的回文,使用起来老报错,希望高手们看看,指出错误
Head First 设计模式 (八) 模板方法模式(Template Method pattern) C++实现
用C++语言实现的策略模式框架,已编译通过,可以根据自己的实际需要增加函数和类。
使用Visual C++ 6.0做的远程抄表与监控的模拟系统。版本更新为1.5,修正了1.0版本Client端对于累计电量的采集的Bug,修正了连续载入配置文件出错的Bug,更新了配置文件合法性判断的逻辑,并对协议的结构进行了优化...
用模板类实现的一个简易的c++程序,实现了快速排序。
数据结构各种算法实现(C++模板).doc数据结构各种算法实现(C++模板).doc数据结构各种算法实现(C++模板).doc数据结构各种算法实现(C++模板).doc数据结构各种算法实现(C++模板).doc数据结构各种算法实现(C++模板).doc
深入浅出设计模式之抽象工厂模式+工厂方法模式+策略模式实现手机加工厂(加类图)
介绍设计模式的23种模式,及vc6.0 下c++代码实现
使用c++模板实现的堆排序、优先级队列,在vs2010下编译运行通过。压缩文件里为两个工程文件,如果有vs2010的话解压缩打开sln文件就可以了,没有的话,新建工程将文件复制过去就ok了。如果有问题可以留言。
采用C++模板方式以不同的策略实现循环队列,包括队满时写入丢弃老数据、丢弃新数据,丢弃新数据又包括标志位、牺牲1个存储单元、引入元素个数等三种方式。有清晰的注释。
C++设计模式课件4_策略模式.pdf
c++文件模板 c++文件模板 c++文件模板 c++文件模板 c++文件模板 c++文件模板 c++文件模板 c++文件模板 c++文件模板 c++文件模板 c++文件模板 c++文件模板 c++文件模板 c++文件模板 c++文件模板 c++文件模板 c++文件...
c++实现建造者模式,可直接运行
一篇关于C++模板 设计模式 软件架构的文档,里面实现了一个泛化的命令模式和观察者模式