用函数重载方法编写求面积程序,要求能计算圆、矩形、三角形面积。
时间: 2023-05-22 14:03:37 浏览: 216
好的,这是一个很简单的问题。可以这样实现:
```c++
#include <iostream>
#include <cmath>
using namespace std;
class Area {
public:
// 重载函数,计算圆面积
double calculate(double radius) {
return M_PI * radius * radius;
}
// 重载函数,计算矩形面积
double calculate(double width, double height) {
return width * height;
}
// 重载函数,计算三角形面积
double calculate(double base, double height, int) {
return 0.5 * base * height;
}
};
int main() {
Area area;
double radius, width, height, base;
int choice;
cout << "请输入要计算的图形类型(1:圆 2:矩形 3:三角形):" << endl;
cin >> choice;
switch (choice) {
case 1:
cout << "请输入圆的半径:" << endl;
cin >> radius;
cout << "圆的面积为:" << area.calculate(radius) << endl;
break;
case 2:
cout << "请输入矩形的宽和高:" << endl;
cin >> width >> height;
cout << "矩形的面积为:" << area.calculate(width, height) << endl;
break;
case 3:
cout << "请输入三角形的底边和高:" << endl;
cin >> base >> height;
cout << "三角形的面积为:" << area.calculate(base, height, 0) << endl;
break;
default:
cout << "输入有误!" << endl;
break;
}
return 0;
}
```
希望这个答案能够满足您的需求。
阅读全文