s MyProduct:public Product
{
public:
MyProduct()
{
cout << "MyProduct has been constructed!" << endl;
}
};
class YourProduct:public Product
{
public:
YourProduct()
{
cout << "YourProduct has been constructed!" << endl;
}
};
class OurProduct:public Product
{
public:
OurProduct()
{
cout << "OurProduct has been constructed!" << endl;
}
};
int main()
{
StandardCreator ourCreator;
Product *pProduct = ourCreator.GetProduct();
StandardCreator myCreator;
pProduct = myCreator.GetProduct();
StandardCreator yourCreator;
pProduct = yourCreator.GetProduct();
char ch = getchar();
return 1;
}
下面是测试效果:www.2cto.com

摘自 Arvon Zhang的专栏