纯虚函数怎么在派生类中实现举例子
时间: 2023-11-22 12:52:14 浏览: 80
在派生类中实现纯虚函数,需要重写该函数并提供实现。下面是一个简单的例子:
```
class Shape {
public:
virtual double getArea() = 0; // 纯虚函数
};
class Rectangle : public Shape {
public:
Rectangle(double w, double h) : width(w), height(h) {}
double getArea() { return width * height; } // 实现纯虚函数
private:
double width;
double height;
};
class Circle : public Shape {
public:
Circle(double r) : radius(r) {}
double getArea() { return 3.14 * radius * radius; } // 实现纯虚函数
private:
double radius;
};
int main() {
Rectangle rect(3, 4);
Circle circle(5);
std::cout << "Rectangle area: " << rect.getArea() << std::endl;
std::cout << "Circle area: " << circle.getArea() << std::endl;
return 0;
}
```
在上面的代码中,`Shape` 类中定义了一个纯虚函数 `getArea()`,但是并没有提供实现。而 `Rectangle` 和 `Circle` 类都继承自 `Shape`,并在自己的类中实现了 `getArea()` 函数,从而提供了对应形状的面积计算方法。在 `main()` 函数中,我们分别创建了一个矩形和一个圆形对象,并输出它们的面积。
阅读全文