#ifndef ABSTRACTFACTORY_H #define ABSTRACTFACTORY_H /////////////////////////////////////////////////////////////// // AbstractFactory.h - declares AbstractFactory Protocol // // // // Jim Fawcett, CSE776 - Design Patterns, Summer 2004 // /////////////////////////////////////////////////////////////// #include "AbstractProduct.h" class AbstractFactory { public: enum factoryType { one, two }; virtual AbstractProductA* CreateProdA() const = 0; virtual AbstractProductB* CreateProdB() const = 0; static const AbstractFactory* CreateFactory(factoryType ft); }; #endif