设计一个圆柱体类,该类有通过参数初始化或通过一个已知对象初始化一个新对象,以及有求圆柱体体积和表面积的功能。用c++解决
时间: 2024-03-21 15:37:54 浏览: 90
好的,以下是一个简单的圆柱体类的实现:
```c++
#include <iostream>
#include <cmath>
using namespace std;
class Cylinder {
private:
double radius;
double height;
public:
Cylinder(double r = 1, double h = 1) {
radius = r;
height = h;
}
Cylinder(const Cylinder &c) {
radius = c.radius;
height = c.height;
}
double volume() {
return M_PI * radius * radius * height;
}
double surface_area() {
return 2 * M_PI * radius * (radius + height);
}
};
int main() {
// 初始化一个圆柱体对象
Cylinder c(3, 5);
cout << c.volume() << endl; // 输出 141.3716694115407
cout << c.surface_area() << endl; // 输出 150.79644737231007
// 使用现有的圆柱体对象初始化一个新对象
Cylinder c2(c);
cout << c2.volume() << endl; // 输出 141.3716694115407
cout << c2.surface_area() << endl; // 输出 150.79644737231007
return 0;
}
```
在这个类中,我们有一个构造函数 `Cylinder`,它可以通过传递圆柱体的半径和高度来创建一个新的圆柱体对象。我们还有一个复制构造函数 `Cylinder(const Cylinder &c)`,它可以通过传递一个现有的圆柱体对象来创建一个新的圆柱体对象。
我们还有两个成员函数:`volume` 和 `surface_area`。`volume` 方法计算圆柱体的体积,`surface_area` 方法计算圆柱体的表面积。
下面是一些示例代码,演示如何使用这个类:
阅读全文