代码:
class AbstractProduct{
public:
virtual void ShowProduct()= 0;
};
class ProductA : public AbstractProduct{
public:
void ShowProduct()override{
cout<<"I am Product A"<<endl;
}
};
class ProductB:public AbstractProduct{
public:
void ShowProduct()override{
cout<<"I am Product B"<<endl;
}
};
class Factory{
public:
AbstractProduct *createProduct(int index){
switch (index)
{
case 1:
return new ProductA();
case 2:
return new ProductB();
}
}
};
int main()
{
Factory f;
f.createProduct(1)->ShowProduct();
f.createProduct(2)->ShowProduct();
}
网友评论