拥有​​多策略​​类后,不必使用继承的​​虚函数​​机制.来实现​​多态​​.代码如下:

#include "多策略.cpp"
构 B{
空 f(){
打印("啊");
}
};
构 C{
空 f(){
打印("哦");
}
};
构 D{
空 f(){
打印("D");
}
};
元<类 T>概念 有啊=要求(T*t){
t->f();
};//有概念
#define 鸭动作(S,f)\
元<类 T>构 S{\
静 常式 空 动作(T&t){f<T>(t);}\
};
//用鸭动作来包装函数模板
元<有啊 T>空 f(T&t){
t.f();
}//实现函数接口.
鸭动作(G,f);

空 主(){//B,C,D实现同一个策略
多策略<B,C,D>a;//挨个构建.
a.动作<G>();//调用方法.
}

需要个​​函数模板​​​转​​类模板​​.高级技巧中,非常需要它:

#define 鸭动作(S,f)\
元<类 T>构 S{\
静 常式 空 动作(T&t){f<T>(t);}\
};

很重要,可​​自由扩展​​!