c++编写程序,定义动物Animal类,由其派生出猫类(Cat)和狮子类(Lion),二者都包含虚函数sound(),要求根据派生类对象的不同调用各自的成员函数sound()
时间: 2024-01-05 12:02:55 浏览: 109
好的,以下是示例代码:
```c++
#include <iostream>
using namespace std;
class Animal { //定义动物类
public:
virtual void sound() { //虚函数
cout << "动物发出声音" << endl;
}
};
class Cat : public Animal { //猫类,继承自动物类
public:
void sound() { //重写动物类的虚函数
cout << "喵喵喵" << endl;
}
};
class Lion : public Animal { //狮子类,继承自动物类
public:
void sound() { //重写动物类的虚函数
cout << "吼吼吼" << endl;
}
};
int main() {
Animal* animal1 = new Cat(); //创建一个猫对象
Animal* animal2 = new Lion(); //创建一个狮子对象
animal1->sound(); //调用猫对象的成员函数sound()
animal2->sound(); //调用狮子对象的成员函数sound()
delete animal1; //释放动态分配的内存
delete animal2;
return 0;
}
```
输出结果为:
```
喵喵喵
吼吼吼
```
可以看到,根据不同的派生类对象,调用了不同的成员函数sound()。