设计模式之 抽象工厂模式

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_;
};
原文地址:https://www.cnblogs.com/foreverstars/p/4690274.html