一长方形形游泳池如图所示,现在需在其周围建一过道,并在其四周围上栅栏。过道宽度为3米,造价为20元/平方米;外围栅栏价格为50元/米。游泳池长宽由键盘输入,用c++设计一个矩形类,计算并输出过道和栅栏的造价。
时间: 2024-03-26 19:39:07 浏览: 89
好的,根据您的要求,我可以用C++设计一个矩形类来计算游泳池周围的过道和栅栏的造价。以下是代码实现:
```cpp
#include <iostream>
using namespace std;
class Rectangle {
private:
float length;
float width;
public:
Rectangle(float length, float width) {
this->length = length;
this->width = width;
}
float get_area() {
return length * width;
}
float get_perimeter() {
return 2 * (length + width);
}
float get_total_cost(float paving_cost = 20, float fence_cost = 50) {
// 计算过道的面积
float walkway_area = (length + 6) * (width + 6) - length * width;
// 计算栅栏的周长
float fence_perimeter = 2 * (length + width + 6);
// 计算总造价
float total_cost = walkway_area * paving_cost + fence_perimeter * fence_cost;
return total_cost;
}
};
int main() {
float length, width;
cout << "请输入游泳池的长度:";
cin >> length;
cout << "请输入游泳池的宽度:";
cin >> width;
Rectangle pool(length, width);
float total_cost = pool.get_total_cost();
cout << "游泳池周围的过道和栅栏的总造价为:" << total_cost << " 元" << endl;
return 0;
}
```
上述代码中,我们定义了一个名为`Rectangle`的矩形类,该类具有以下成员函数:
- `Rectangle(float length, float width)`:构造函数,初始化矩形的长和宽。
- `float get_area()`:计算矩形的面积。
- `float get_perimeter()`:计算矩形的周长。
- `float get_total_cost(float paving_cost = 20, float fence_cost = 50)`:计算矩形周围的过道和栅栏的总造价。其中,`paving_cost`为过道的造价,默认为20元/平方米;`fence_cost`为栅栏的造价,默认为50元/米。
我们可以通过创建一个`Rectangle`的对象来使用这些成员函数,如下所示:
```cpp
int main() {
float length, width;
cout << "请输入游泳池的长度:";
cin >> length;
cout << "请输入游泳池的宽度:";
cin >> width;
Rectangle pool(length, width);
float total_cost = pool.get_total_cost();
cout << "游泳池周围的过道和栅栏的总造价为:" << total_cost << " 元" << endl;
return 0;
}
```
上述代码中,我们首先从键盘输入游泳池的长度和宽度,然后创建一个`Rectangle`的对象,并调用`get_total_cost`成员函数计算总造价。最后,输出总造价的结果。
阅读全文