那你帮我写一个c++使用多态的例子
时间: 2024-05-09 13:18:30 浏览: 181
当然可以为您提供一个简单的使用多态的C++例子:
```c++
#include <iostream>
using namespace std;
class Shape {
public:
virtual void draw() {
cout << "This is a shape." << endl;
}
};
class Circle : public Shape {
public:
void draw() {
cout << "This is a circle." << endl;
}
};
class Rectangle : public Shape {
public:
void draw() {
cout << "This is a rectangle." << endl;
}
};
int main() {
Shape *s;
Circle c;
Rectangle r;
s = &c;
s->draw();
s = &r;
s->draw();
return 0;
}
```
在这个例子中,我们定义了一个抽象类Shape,它有一个draw函数,但是没有实现任何功能。然后我们定义了两个类,Circle和Rectangle,它们都继承自Shape,并且重写了draw函数,实现了自己的功能。
在主函数中,我们定义了一个Shape类型的指针s,然后将它分别指向了Circle和Rectangle的对象。当我们调用s->draw()时,它会根据对象的实际类型去调用相应的draw函数,这就是多态的实现。
运行结果为:
```
This is a circle.
This is a rectangle.
```
这就是一个简单的使用多态的C++例子。希望对您有所帮助!
阅读全文