本关任务:设计一个哺乳动物类Mammal,再由哺乳动物类Mammal派生出狗类Dog和猫类Cat。 相关知识 为了完成本关任务,你需要掌握:1. 如何设置虚函数,2. 如何通过基类指针调用虚函数。 编程要求 在右侧编辑器补充代码,设计一个哺乳动物类Mammal,再由哺乳动物类Mammal派生出狗类Dog和猫类Cat,二者都声明speak()成员函数,该函数在基类Mammal中被声明为纯虚函数。 并定义一个MammalSpeak()函数,参数为类Mammal对象的引用,要求输出哺乳动物的叫声。 测试说明 假设平台使用下列代码会对你编写的代码进行测试: main()函数中声明一个狗类Dog的对象和一个猫类Cat的对象,两次调用MammalSpeak()函数,输出不同种类哺乳动物对象的叫声。
时间: 2023-05-12 08:03:32 浏览: 376
使用Animal和Mammal两个类来说明一般动物和哺乳动物的继承关系。C#代码[定义].pdf
5星 · 资源好评率100%
以下是代码实现:
#include <iostream>
using namespace std;
class Mammal {
public:
virtual void speak() = 0; // 纯虚函数
};
class Dog : public Mammal {
public:
void speak() {
cout << "汪汪汪" << endl;
}
};
class Cat : public Mammal {
public:
void speak() {
cout << "喵喵喵" << endl;
}
};
void MammalSpeak(Mammal& m) {
m.speak();
}
int main() {
Dog dog;
Cat cat;
MammalSpeak(dog);
MammalSpeak(cat);
return 0;
}
输出结果为:
汪汪汪
喵喵喵
阅读全文