uec++ 纯虚函数
时间: 2023-07-28 18:09:09 浏览: 238
C++中的纯虚函数是指没有实现体的虚函数,它只有函数原型,没有函数体。在类中声明一个纯虚函数,可以用 "= 0" 来指定。纯虚函数在基类中定义接口,而在派生类中实现具体的功能。
使用纯虚函数的目的是为了让派生类必须实现该函数,以满足基类对于接口的要求。如果派生类没有实现纯虚函数,那么派生类也会成为抽象类,不能被直接实例化。
例如,下面是一个使用纯虚函数的示例:
```cpp
class Shape {
public:
virtual double getArea() const = 0; // 纯虚函数
};
class Rectangle : public Shape {
private:
double width;
double height;
public:
Rectangle(double w, double h) : width(w), height(h) {}
double getArea() const override {
return width * height;
}
};
int main() {
Rectangle rect(3.0, 4.0);
double area = rect.getArea();
return 0;
}
```
在上面的示例中,`Shape` 类中的 `getArea()` 函数被声明为纯虚函数,因此 `Shape` 类成为了抽象类。`Rectangle` 类继承了 `Shape` 类并实现了 `getArea()` 函数,所以它可以被实例化并调用其成员函数。
需要注意的是,纯虚函数可以有实现体,但是在基类中定义纯虚函数时不能提供实现体。在派生类中,如果需要重写纯虚函数,可以选择是否提供实现体。
阅读全文