用c++设计立方体类 设计立方体类(Cube) 求出立方体的面积和体积 分别用全局函数和成员函数判断两个立方体是否相等。
时间: 2024-09-15 11:04:29 浏览: 68
在C++中设计一个立方体类(Cube),我们需要定义类的属性和方法来计算面积和体积,并且实现全局函数与成员函数来判断两个立方体是否相等。以下是示例代码:
```cpp
#include <iostream>
// 立方体类的定义
class Cube {
private:
double side; // 立方体的边长
public:
// 构造函数
Cube(double s) : side(s) {}
// 成员函数:计算面积
double getArea() const {
return 6 * side * side;
}
// 成员函数:计算体积
double getVolume() const {
return side * side * side;
}
// 成员函数:判断当前立方体是否与另一个立方体相等
bool isEqualTo(const Cube& other) const {
return side == other.side;
}
// 获取立方体的边长
double getSide() const {
return side;
}
};
// 全局函数:判断两个立方体是否相等
bool areCubesEqual(const Cube& cube1, const Cube& cube2) {
return cube1.getSide() == cube2.getSide();
}
int main() {
// 创建两个立方体对象
Cube cube1(3.0);
Cube cube2(3.0);
// 输出立方体的面积和体积
std::cout << "Cube1 Area: " << cube1.getArea() << std::endl;
std::cout << "Cube1 Volume: " << cube1.getVolume() << std::endl;
// 判断两个立方体是否相等
std::cout << "Cubes are equal using member function: " << cube1.isEqualTo(cube2) << std::endl;
std::cout << "Cubes are equal using global function: " << areCubesEqual(cube1, cube2) << std::endl;
return 0;
}
```
这段代码定义了一个`Cube`类,包含一个私有成员变量`side`表示边长,以及几个成员函数和全局函数:
- `Cube(double s)` 是构造函数,用于初始化立方体的边长。
- `getArea()` 是成员函数,用于计算并返回立方体的表面积。
- `getVolume()` 是成员函数,用于计算并返回立方体的体积。
- `isEqualTo(const Cube& other) const` 是成员函数,用于判断当前立方体是否与另一个立方体的边长相等。
- `areCubesEqual(const Cube& cube1, const Cube& cube2)` 是全局函数,用于比较两个立方体是否相等。
在`main`函数中,创建了两个`Cube`类的对象,并调用了相关的函数来计算面积、体积以及判断两个立方体是否相等。
阅读全文