c++实现工厂方法模式时的错误(vc6)
我在用工厂方法模式用vc6实现时编译出错一共三个文件
factory.h
class Product
{
};
class ConcreteProduct1 : public Product
{
public:
ConcreteProduct1()
{
cout<<"CocnreteProduct1 is being created.";
}
};
class ConcreteProduct2 : public Product
{
public:
ConcreteProduct2()
{
cout<<"CocnreteProduct2 is being created.";
}
}
creator.h
class Creator
{
public:
virtual ~Creator(){};
virtual Product factory() = 0;
};
class ConcreteCreator1 : public Creator
{
public:
Product factory()
{
return new ConcreteProduct1();
}
};
class ConcreteCreator2 : public Creator
{
public:
Product factory()
{
return new ConcreteProduct2();
}
};
main.h
int main(int argc, char* argv[])
{
Creator *creator1, *creator2;
Product *prod1, *prod2;
creator1 = new ConcreteCreator1();
prod1 = creator1->factory();
creator2 = new ConcreteCreator2();
prod2 = creator2->factory();
return 0;
}