工厂模式是一种常见的设计模式。请实现一个玩具工厂 ToyFactory 用来产生不同的玩具类。可以假设只有猫和狗两种玩具。
样例
例1:
输入:
ToyFactory tf = ToyFactory();
Toy toy = tf.getToy('Dog');
toy.talk();
输出:
Wow
例2:
输入:
ToyFactory tf = ToyFactory();
toy = tf.getToy('Cat');
toy.talk();
输出:
Meow
输入测试数据 (每行一个参数)
如何理解测试数据?
class Toy {
public:
virtual void talk() const=0;
};
class Dog: public Toy {
// Write your code here
void talk() const
{
cout<<"Wow"<<endl;
}
};
class Cat: public Toy {
// Write your code here
void talk ()const
{
cout<<"Meow"<<endl;
}
};
class ToyFactory {
public:
/**
* @param type a string
* @return Get object of the type
*/
Toy* getToy(string& type) {
// Write your code here
if(type=="Dog")
{
Dog*dog=new Dog();
return dog;
}
else
{
Cat*cat=new Cat();
return cat;
}
}
};```