C++要建一个如图的草地,沿草地边沿围栅栏,假设圆半径是100米,草皮价格为每平方米35元,栅栏价格为每米10元。编写圆类,并在主函数中计算建设成本。
时间: 2024-12-12 10:18:12 浏览: 4
在C++中,你可以创建一个`Circle`类来表示圆形草地,然后添加成员变量来存储圆的半径、草皮面积和栅栏长度。接着,我们可以定义方法来计算这些值。假设栅栏只围绕圆形边缘,那么栅栏的长度等于圆的周长。
首先,我们定义一个`Circle`类:
```cpp
class Circle {
private:
double radius; // 圆的半径
public:
Circle(double r) : radius(r) {} // 构造函数
// 计算草皮面积
double grassArea() const {
return M_PI * radius * radius;
}
// 计算栅栏周长
double fenceLength() const {
return 2 * M_PI * radius;
}
// 计算总成本(草皮费用 + 栅栏费用)
double totalCost(double grassPricePerMeter2, double fencePricePerMeter) const {
return grassArea() * grassPricePerMeter2 + fenceLength() * fencePricePerMeter;
}
};
```
接下来,在主函数`main()`中实例化`Circle`并计算成本:
```cpp
int main() {
const double grassPrice = 35.0; // 草皮单价(元/m²)
const double fencePrice = 10.0; // 栅栏单价(元/m)
Circle grassField(100); // 半径为100米的草地
double totalCost = grassField.totalCost(grassPrice, fencePrice);
std::cout << "Total cost for the grass field and fence is: " << totalCost << " yuan." << std::endl;
return 0;
}
```
阅读全文