设计一个动物声音“模拟器”,利用抽象类与上转型机制使得模拟器可以模拟许多动物的叫声。
时间: 2024-06-17 09:05:31 浏览: 195
动物声模拟_动物叫声模拟器_
5星 · 资源好评率100%
设计一个动物声音模拟器的话,可以利用抽象类和上转型机制实现。首先,我们可以定义一个抽象类Animal,表示动物,其中包含一个纯虚函数makeSound(),用于表示动物的叫声。
然后,我们可以定义多个具体的动物类,比如Dog、Cat、Bird等,这些类继承自Animal类,并且实现makeSound()函数以表示不同动物的叫声。
最后,我们可以定义一个模拟器类,其中包含一个指向Animal类的指针,该指针可以指向不同的具体动物对象,并且调用makeSound()函数输出动物的叫声。
以下是示例代码:
```
#include <iostream>
using namespace std;
// 动物抽象类
class Animal {
public:
virtual void makeSound() = 0; // 纯虚函数
};
// 具体动物类
class Dog : public Animal {
public:
void makeSound() { cout << "汪汪汪!" << endl; }
};
class Cat : public Animal {
public:
void makeSound() { cout << "喵喵喵!" << endl; }
};
class Bird : public Animal {
public:
void makeSound() { cout << "啾啾啾!" << endl; }
};
// 模拟器类
class AnimalSimulator {
public:
void simulate(Animal* animal) {
animal->makeSound();
}
};
int main() {
AnimalSimulator simulator;
Dog dog;
Cat cat;
Bird bird;
simulator.simulate(&dog);
simulator.simulate(&cat);
simulator.simulate(&bird);
return 0;
}
```
阅读全文