#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;
}