c++抽象类应用的完整例子
时间: 2023-08-02 08:05:56 浏览: 87
好的,下面是一个完整的C++抽象类应用的例子:
```cpp
#include <iostream>
using namespace std;
//抽象类
class Shape {
public:
virtual void draw() = 0; //纯虚函数
};
//派生类
class Circle : public Shape {
public:
void draw() {
cout << "Drawing a circle." << endl;
}
};
class Square : public Shape {
public:
void draw() {
cout << "Drawing a square." << endl;
}
};
int main() {
Shape* s1 = new Circle();
Shape* s2 = new Square();
s1->draw();
s2->draw();
delete s1;
delete s2;
return 0;
}
```
在这个例子中,我们定义了一个抽象类Shape,其中包含一个纯虚函数draw。这个类不能被实例化,只能被继承。然后我们定义了两个派生类Circle和Square,它们都继承自Shape类,并实现了draw函数。最后在main函数中,我们创建了两个Shape类型的指针s1和s2,并将它们分别指向Circle和Square类的实例。我们调用了它们的draw函数,并释放了内存。这样,我们就成功地使用了抽象类来实现多态。
阅读全文