C ++编写以下程序:设计一个类族,在子类中定义与父类相同的函数,用不同类的对象进行 函数的调用。 注:参考第12章“多态性”小节中的内容进行设计,可自定义程序所实现的功 能,仅需满足父类与子类中具有相同函数,在主函数中用不同对象调用函数即可。
时间: 2024-03-10 08:47:35 浏览: 94
好的,以下是一个简单的示例程序:
```c++
#include <iostream>
using namespace std;
// 父类
class Animal {
public:
virtual void speak() {
cout << "动物在叫" << endl;
}
};
// 子类1
class Dog : public Animal {
public:
void speak() {
cout << "狗在汪汪叫" << endl;
}
};
// 子类2
class Cat : public Animal {
public:
void speak() {
cout << "猫在喵喵叫" << endl;
}
};
int main() {
Animal* animal1 = new Animal();
Animal* animal2 = new Dog();
Animal* animal3 = new Cat();
animal1->speak(); // 动物在叫
animal2->speak(); // 狗在汪汪叫
animal3->speak(); // 猫在喵喵叫
delete animal1;
delete animal2;
delete animal3;
return 0;
}
```
在这个程序中,我们定义了一个 Animal 父类和两个子类 Dog 和 Cat,它们都重写了父类的 speak() 函数。在主函数中,我们分别创建了父类、子类 Dog 和子类 Cat 的对象,并调用了它们的 speak() 函数。由于父类的 speak() 函数是虚函数,因此可以实现多态性,使得不同对象调用相同的函数时产生不同的结果。
阅读全文