class IProduct
{
public:
virtual void prodMethod() = 0;
};
class Product: public IProduct
{
virtual void prodMethod()
{
cout<<"produmethod"<<endl;
}
};
class IFactory
{
public:
virtual IProduct * CreateProduct() = 0;
};
class Factory: public IFactory
{
public:
virtual IProduct * CreateProduct()
{
return new Product();
}
};
int main()
{
IFactory * pFac = new Factory();
IProduct * pPro = pFac->CreateProduct();
pPro->prodMethod();
return 0;
}
原文:http://www.cnblogs.com/taotaoju/p/6003375.html