/** * testfactory.cpp */ #include "abstractfactory.h" void main() { /** * create the factory(s). */ AbstractFactory* factory1 = new ConcreteFactory1(); AbstractFactory* factory2 = new ConcreteFactory2(); /** * have the factory(s) create products. */ AbstractProductA* productA = factory1 -> createProductA(); AbstractProductB* productB = factory2 -> createProductB(); /** * clean-up. */ delete productA; delete productB; delete factory1; delete factory2; };