设计模式--创建型模式--简单工厂

//-----------------------------------------------------------------
//Creational Patterns--single factory
//创建型模式--简单工厂
//-----------------------------------------------------------------

enum TankType
{
    T80 = 1,
    T99 = 2
};
//-----------------------------------------------------------------
class Tank
{
public:
    virtual void message() = 0;
};

class Tank80 : public Tank
{
public:
    void message(){cout << "Tank80"<<  endl;}
};

class Tank99 : public Tank
{
    void message(){cout << "Tank99" << endl;}
};
//-----------------------------------------------------------------
class TankFactory
{
public:
    Tank * createTank(TankType tt)
    {
        switch(tt)
        {
        case T80:
            return new Tank80();
            break;
        case T99:
            return new Tank99();
            break;
        }
    }
};

猜你喜欢

转载自blog.csdn.net/hhgfg1980/article/details/82932696