class Iface { ... }; class IfaceImpl1 : public Iface { ... }; class IfaceImpl2 : public Iface { ... }; class Klass { Iface* strategy; }
template <class Strategy> class Klass { Strategy s; }