You should pass those Strategy
classes into the constructor and build them outside of your containing object. If you attempt to do it wherein the construction is hidden within another class's constructor, you bind the implementation in a very hard manner.
SomeClass(Strategy1 obj1, Strategy2 obj2, Strategy3 obj3){
Better yet, if you can use a TR1 function. Assuming no TR1, then I would suggest replacing those templates with calls to a Boost::function.