派生类写不同动物的叫声
时间: 2024-02-20 17:02:19 浏览: 104
好的,我可以帮您写一个简单的程序,让派生类实现不同动物的叫声。以下是一个示例代码:
```
#include <iostream>
using namespace std;
class Animal {
public:
virtual void makeSound() = 0;
};
class Cat : public Animal {
public:
void makeSound() {
cout << "Meow Meow" << endl;
}
};
class Dog : public Animal {
public:
void makeSound() {
cout << "Woof Woof" << endl;
}
};
class Cow : public Animal {
public:
void makeSound() {
cout << "Moo Moo" << endl;
}
};
int main() {
Animal *a;
Cat c;
Dog d;
Cow co;
a = &c;
a->makeSound();
a = &d;
a->makeSound();
a = &co;
a->makeSound();
return 0;
}
```
在这个程序中,我们定义了一个抽象类 `Animal`,它有一个纯虚函数 `makeSound()`。然后我们派生出了三个类 `Cat`、`Dog` 和 `Cow`,它们都实现了 `makeSound()` 函数,分别输出猫叫声、狗叫声和牛叫声。
在 `main()` 函数中,我们创建了一个指向 `Animal` 类型的指针 `a`,然后将其指向 `Cat`、`Dog` 和 `Cow` 对象,分别调用它们的 `makeSound()` 函数,输出不同的叫声。
这就是一个简单的派生类实现不同动物叫声的例子,希望能对您有所帮助。