简单的工厂模式实例

2014-11-24 07:25:47 · 作者: · 浏览: 0

#include
using namespace std;

class Base
{
public:
virtual void display()=0;
};

class A: public Base
{
public:
void display()
{
cout<<"numA"< }
};

class B: public Base
{
public:
void display()
{
cout<<"numB"< }
};

class C : public Base
{
public:
void display()
{
cout<<"numC"< }

};

class Factory
{
public:
static Base*manager(int num);
{
Base *oper = null;
switch(num)
{
case 1:
oper = new A;
break;
case 2:
oper = new B;
break;
case 3:
oper = new C;
break;
}
return oper;
}
};

int main()
{
Base* oper = Factory::manager(1);
oper->display();
return 0;
}