设计模式之 抽象工厂模式
class IGateWayFactory { public: virtual ~IGateWayFactory(void){} virtual Device* CreateDevice(void) = 0; virtual IVRChannel* CreateIVRChannel(void) = 0; } class A: public IGateWayFactory { public: A(void); ~A(void); public: virtual Device* CreateDevice(void); virtual IVRChannel* CreateIVRChannel(void); private: Device* pDevice_; IVRChannel* pChannel_; }; class B: public IGateWayFactory { public: B(void); ~B(void); public: virtual Device* CreateDevice(void); virtual IVRChannel* CreateIVRChannel(void); private: Device* pDevice_; IVRChannel* pChannel_; };