定义一个圆柱体类Cylindet。成员中有私有数据成员半径和高,要求有构造函数,析构函数以及求圆柱体体积的成员函数。定义此类的两个对象,编写一个主函数进行测试。
时间: 2024-02-18 08:59:18 浏览: 91
好的,这是一个典型的面向对象编程问题,下面是C++的代码实现:
```
#include<iostream>
using namespace std;
class Cylinder{
private:
double radius; // 圆柱体底面半径
double height; // 圆柱体高
public:
// 构造函数
Cylinder(double r, double h){
radius = r;
height = h;
}
// 求圆柱体体积的成员函数
double getVolume(){
return 3.14 * radius * radius * height;
}
// 析构函数
~Cylinder(){
cout << "Cylinder destroyed." << endl;
}
};
int main(){
// 定义两个圆柱体对象
Cylinder c1(3.5, 4.0);
Cylinder c2(4.5, 5.0);
// 输出圆柱体的体积
cout << "Volume of c1: " << c1.getVolume() << endl;
cout << "Volume of c2: " << c2.getVolume() << endl;
return 0;
}
```
在上面的代码中,我们定义了一个Cylinder类,该类有私有数据成员radius和height,以及公有的构造函数、析构函数和成员函数getVolume()。构造函数用于初始化半径和高,析构函数用于释放对象占用的内存。getVolume()函数用于计算圆柱体的体积,并返回结果。
在主函数中,我们定义了两个圆柱体对象c1和c2,并分别输出它们的体积。运行结果如下:
```
Volume of c1: 153.86
Volume of c2: 318.31
Cylinder destroyed.
Cylinder destroyed.
```
从输出结果可以看出,程序正确地计算并输出了两个圆柱体的体积,并在程序结束时自动调用了析构函数释放内存。
阅读全文