纯虚函数
时间: 2024-02-15 10:05:41 浏览: 75
c++中虚函数和纯虚函数的作用与区别
5星 · 资源好评率100%
纯虚函数是在 C++ 中使用的一种特殊的虚函数,它没有函数体,只有声明,用来表示接口函数。它的声明形式为:
```
virtual 返回类型 函数名 (参数列表) = 0;
```
其中的 "= 0" 就是表示这个虚函数是纯虚函数。
纯虚函数通常用于定义一个抽象类,并且抽象类不能被实例化。它只定义接口,具体的实现由派生类来完成。派生类必须重写纯虚函数,否则也会成为抽象类。
以下是一个简单的例子,演示了如何使用纯虚函数:
```c++
#include <iostream>
using namespace std;
class Shape {
public:
// 纯虚函数
virtual int getArea() = 0;
void setWidth(int w) {
width = w;
}
void setHeight(int h) {
height = h;
}
protected:
int width;
int height;
};
class Rectangle: public Shape {
public:
int getArea() {
return (width * height);
}
};
int main() {
Rectangle Rect;
Rect.setWidth(5);
Rect.setHeight(7);
cout << "Total area: " << Rect.getArea() << endl;
return 0;
}
```
这个例子中,Shape 类是一个抽象类,它包含一个纯虚函数 getArea(),该函数没有实现。Rectangle 类是一个派生类,它继承了 Shape 类,并实现了 getArea() 函数。在 main() 函数中,我们创建了一个 Rectangle 对象,调用 setWidth() 和 setHeight() 函数设置其宽和高,然后调用 getArea() 函数计算矩形的面积并输出总面积。
阅读全文