c++中设计长方体类(Cuboid),包含属性长、宽、高,在主程序中提示用户输入三个数据,分别利用3个、2个和0个数据作为初始化参数创建长方体对象,并输出每一个长方体的表面积和体积,写出测试程序可能得到的结果
时间: 2024-12-18 22:17:48 浏览: 36
在C++中,我们可以创建一个名为`Cuboid`的类来表示长方体,包含长(lengh), 宽(width), 和高(height)属性。首先,我们定义类结构并包括必要的成员函数:
```cpp
#include <iostream>
class Cuboid {
public:
// 构造函数,接受3个参数
Cuboid(double length, double width, double height)
: length_(length), width_(width), height_(height) {}
// 构造函数,只接受长度,宽度默认为0
Cuboid(double length)
: length_(length), width_(0), height_(0) {}
// 构造函数,所有参数都默认为0
Cuboid() : length_(0), width_(0), height_(0) {}
// 计算表面积和体积的方法
double calculateSurfaceArea() const {
return 2 * (length_ * width_ + length_ * height_ + width_ * height_);
}
double calculateVolume() const {
return length_ * width_ * height_;
}
private:
double length_, width_, height_; // 长方体属性
};
int main() {
// 提示用户输入
std::cout << "Enter dimensions for a cuboid (separated by space): ";
double input;
std::cin >> input;
// 创建并初始化长方体对象
Cuboid cube1(input, 0, 0); // 使用3个参数
if (input == 0) {
std::cout << "Invalid dimensions.\n";
} else {
std::cout << "Cube 1:\n";
std::cout << "Surface Area: " << cube1.calculateSurfaceArea() << "\n";
std::cout << "Volume: " << cube1.calculateVolume() << "\n";
}
Cuboid cube2(input); // 使用2个参数
if (input == 0) {
std::cout << "Invalid dimensions for Cube 2.\n";
} else {
std::cout << "Cube 2 (with default width of 0):\n";
std::cout << "Surface Area: " << cube2.calculateSurfaceArea() << "\n";
std::cout << "Volume: " << cube2.calculateVolume() << "\n";
}
Cuboid cube3; // 使用0个参数,默认全为0
std::cout << "Cube 3 (all sides zero):\n";
std::cout << "Surface Area: " << cube3.calculateSurfaceArea() << "\n";
std::cout << "Volume: " << cube3.calculateVolume() << "\n";
return 0;
}
```
测试程序可能得到的结果取决于用户输入。例如:
- 如果用户输入3个非零值,比如1、2、3,输出可能是:
```
Cube 1:
Surface Area: 22
Volume: 6
```
- 如果用户仅输入1,立方体2会有一个宽度为0,输出:
```
Cube 2 (with default width of 0):
Surface Area: 4
Volume: 0
```
- 如果用户输入0或空,立方体3的所有边将为0,输出:
```
Cube 3 (all sides zero):
Surface Area: 0
Volume: 0
```
阅读全文
相关推荐


















