#include <iostream>using namespace std;class Rectangle {private: double width; double height;public: void setDimensions(double w, double h) { width = w; height = h; } double getArea() { return width * height; }};int main() { Rectangle r; r.setDimensions(3.5, 4.2); cout << "矩形的面积为:" << r.getArea() << endl; return 0;}完善这段代码
时间: 2024-03-05 09:54:07 浏览: 67
这段代码已经相当完整了,但是如果要对其进行一些改进的话,可以考虑加入一些错误处理和更加友好的输出信息。以下是完善后的代码:
```
#include <iostream>
using namespace std;
class Rectangle {
private:
double width;
double height;
public:
void setDimensions(double w, double h) {
if (w <= 0 || h <= 0) { // 检查输入值是否合法
cout << "错误:宽度和高度必须大于0!" << endl;
return;
}
width = w;
height = h;
}
double getArea() {
if (width <= 0 || height <= 0) { // 检查是否已经设置宽度和高度
cout << "错误:请先设置矩形的宽度和高度!" << endl;
return 0;
}
return width * height;
}
};
int main() {
Rectangle r;
r.setDimensions(-3.5, 4.2); // 测试输入不合法的情况
cout << "矩形的面积为:" << r.getArea() << endl;
r.setDimensions(3.5, 4.2);
cout << "矩形的面积为:" << r.getArea() << endl;
return 0;
}
```
在完善后的代码中,我们加入了一些错误处理的代码。在setDimensions函数中,我们先检查输入值是否合法(宽度和高度必须大于0),如果不合法则输出错误信息并直接返回。在getArea函数中,我们先检查是否已经设置了矩形的宽度和高度,如果没有则输出错误信息并返回0。
在main函数中,我们增加了一个测试输入不合法的情况的代码,以测试错误处理的有效性。另外,我们使用cout输出更加友好的信息,让程序更加易于理解。
以上就是完善后的代码。
阅读全文