м не менее, по БЧ главная цель

Автор admin Суббота, 20 июня 2009 11:32

м не менее, по БЧ главная цель Фабричного метода — возможность определения разных типов фабрик, производных от базовой фабрики. В сущности, Фабричный метод является особой разновидностью полиморфной фабрики. Далее приводится пример ShapeFacr.ory2.cpp, в котором Фабричные методы размещаются в отдельном классе в виде виртуальных функций: //: C10:ShapeFactory2.cpp // Полиморфные Фабричные методы. #incl ude #include
#i ncl ude #include #i nclude #include #include “../purge.h” using namespace std: class Shape { public: virtual void drawO = 0: virtual void eraseO = 0: virtual -ShapeO {} }: class ShapeFactory { virtual Shape* createO = 0: static map factories: public: virtual -ShapeFactoryO {} Фабрика 499 } friend class ShapeFactorylnitializer: class BadShapeCreation : public logic_error { public: BadShapeCreation(string type) : logic_error(“Cannot create type ” + type) {} }: static Shape* createShape(const string& id) throw(BadShapeCreation) { if(factories.find(id) != factories.endO) return factories[id]->createO; else throw BadS


Комментарии закрыты.