设计一个圆柱体类,提供不带参数赋值法,带参数赋值法以及参数初始化表三种方 法对圆进行初始化,求解圆柱体的体积,并编写析构函数完成底面积的输出,要求 输出的是哪个对象的底面积和体积。
时间: 2024-09-20 17:12:04 浏览: 28
设计一个名为Cylinder的类,用于表示圆柱体,我们可以按照以下步骤来创建:
1. **无参构造函数**:
这种构造函数将设置一些默认的属性,比如高度为0,半径未定。
```cpp
class Cylinder {
public:
Cylinder() : radius(0), height(0) {}
private:
double radius;
double height;
};
```
2. **带参数构造函数**:
用于接受用户输入的半径和高度,计算并存储圆柱体的体积。
```cpp
class Cylinder {
public:
// 带参数构造函数
Cylinder(double r, double h) : radius(r), height(h) {
calculateVolume();
}
private:
void calculateVolume() {
volume = M_PI * pow(radius, 2) * height;
}
double volume; // 圆柱体体积
double radius;
double height;
};
```
3. **使用初始化列表**:
初始化列表允许你在创建对象的同时设定属性的初始值。
```cpp
class Cylinder {
public:
Cylinder(double r = 0, double h = 0) : radius(r), height(h) {
calculateVolume();
}
private:
void calculateVolume() {
volume = M_PI * pow(radius, 2) * height;
}
double volume;
double radius;
double height;
};
```
4. **析构函数**:
当对象生命周期结束时,析构函数会被自动调用,这里我们简单输出底面积。
```cpp
~Cylinder() {
cout << "底面积: " << M_PI * pow(radius, 2) << endl;
}
```
现在,如果你有一个Cylinder对象`cylinder(3, 5)`,它的体积就是90π(因为公式是πr²h),并且在对象销毁时会输出其底面积(即9π)。
阅读全文