One more question
Product //abstract Creator //abstract
+Method() +FactoryMethod()
| |
| |
| |
ConcreteProduct<-------------ConcreteCreator
+Method() +FactoryMethod()-----return new ConcreteProduct
In the demo code of Factory Pattern they use return to new a ConcreteProduct object Factory* fac = new ConcreteFactory(); Product* p = fac->CreateProduct(); what about using a member variabal of Creator to control Creator's behavior like: Product* p = new CreateProduct(); //use p to initialize member variable Product* _p; Factory* fac = new ConcreteFactory(p); and use like "fac->_p->method()" to call different subclass member funtion is it good or not to use a abstract class object as member variabal to control its behavior ???:confused: