使用devc++编写上面问题的代码
时间: 2024-12-25 17:27:26 浏览: 8
Dev-C++是一款基于C++的集成开发环境,它可以帮助你创建、编译和运行C++程序。如果你想要演示多态的概念,我们可以使用C++的一个简单例子,比如动物行为的抽象类和它的派生类:
```cpp
// 动物基类Animal.h
class Animal {
public:
virtual void makeSound() = 0; // 纯虚函数,声明不做实现
};
// 具体实现类Dog.cpp (编译后放在Dog.h同目录下)
#include "Animal.h"
class Dog : public Animal {
public:
void makeSound() override { cout << "汪汪!" << endl; }
};
// 具体实现类Cat.cpp (编译后放在Cat.h同目录下)
#include "Animal.h"
class Cat : public Animal {
public:
void makeSound() override { cout << "喵喵!" << endl; }
};
int main() {
Animal* animal1 = new Dog(); // 创建Dog对象引用到基类Animal
Animal* animal2 = new Cat(); // 创建Cat对象引用到基类Animal
animal1->makeSound(); // 输出汪汪!
animal2->makeSound(); // 输出喵喵!
delete animal1;
delete animal2;
return 0;
}
```
在这个例子中,`Animal`是基类,而`Dog`和`Cat`是它的派生类。虽然它们都实现了`makeSound()`方法,但是由于多态,你可以通过基类类型的指针分别调用各自的行为。这就是方法重写的应用。
阅读全文