重载“<<”“>>”运算符,输入输出长方体的长宽高,并计算体积-oop 时间限制: 1 Sec 内存限制: 128 MB 提交: 87 解决: 211 [提交][状态][讨论版][命题人:wxh197] 题目描述 给定长方体的长、宽、高,求出长方体的体积。 输入 输入长方体的长、宽、高 输出 长方体的长、宽、高、体积(保留2位小数)
时间: 2023-06-17 11:06:45 浏览: 225
以下是 C++ 的实现代码,其中重载了“<<”和“>>”运算符用于输入输出长方体的长宽高,并计算体积:
```cpp
#include <iostream>
using namespace std;
class Cuboid {
public:
Cuboid() {}
Cuboid(double l, double w, double h) : length(l), width(w), height(h) {}
double getVolume() const {
return length * width * height;
}
friend istream& operator>>(istream& in, Cuboid& cuboid) {
in >> cuboid.length >> cuboid.width >> cuboid.height;
return in;
}
friend ostream& operator<<(ostream& out, const Cuboid& cuboid) {
out << cuboid.length << " " << cuboid.width << " " << cuboid.height << " " << cuboid.getVolume();
return out;
}
private:
double length;
double width;
double height;
};
int main() {
Cuboid cuboid;
cin >> cuboid;
cout.setf(ios::fixed);
cout.precision(2);
cout << cuboid << endl;
return 0;
}
```
在主函数中,我们通过输入流运算符“>>”输入长方体的长宽高,并通过输出流运算符“<<”输出长方体的长宽高和体积。在输出体积时,我们使用了 `cout.setf(ios::fixed)` 和 `cout.precision(2)` 来设置输出格式,保留两位小数。
阅读全文