应用C++的虚函数,计算三角形、矩形的面积. 编写程序,程序输出需要符合输出要求
时间: 2023-06-16 15:04:46 浏览: 108
C++实验 多态性与虚函数
5星 · 资源好评率100%
以下是使用C++的虚函数计算三角形和矩形面积的示例代码:
```c++
#include <iostream>
using namespace std;
class Shape {
protected:
double area;
public:
virtual void calculate_area() = 0;
double get_area() { return area; }
};
class Triangle : public Shape {
private:
double base;
double height;
public:
Triangle(double b, double h) {
base = b;
height = h;
}
void calculate_area() {
area = 0.5 * base * height;
}
};
class Rectangle : public Shape {
private:
double length;
double width;
public:
Rectangle(double l, double w) {
length = l;
width = w;
}
void calculate_area() {
area = length * width;
}
};
int main() {
Shape* shape;
Triangle triangle(4, 5);
shape = ▵
shape->calculate_area();
cout << "Triangle area: " << shape->get_area() << endl;
Rectangle rectangle(3, 6);
shape = &rectangle;
shape->calculate_area();
cout << "Rectangle area: " << shape->get_area() << endl;
return 0;
}
```
输出:
```
Triangle area: 10
Rectangle area: 18
```
在这个示例中,`Shape` 是一个抽象类,它有一个纯虚函数 `calculate_area()`,该函数必须在任何派生类中实现。 `Triangle` 和 `Rectangle` 是两个派生类,它们分别计算三角形和矩形的面积。在 `main()` 函数中,我们创建了 `Triangle` 和 `Rectangle` 的实例,并使用多态性调用它们的 `calculate_area()` 函数。
阅读全文