template <class AStrategy> class Context { void Operation)) { theStrategy .DoAlgorithm( ) ; } // ... private : AStrategy theStrategy; }; //... //Затем этот класс конфигурируется классом Strategy в момент инстанцирования: class MyStrategy { public: void DoAlgorithm( ) ; }; Context<MyStrategy> aContext;