圆柱体类的基础上添加构造函数,析构函数,拷贝构造函数。
在类中添加一个内联函数Display用于显示计算得出的圆柱体体积。
类中添加一个静态成员变量Sum_Vol用来存储当前多个圆柱体对象的体积的和。
在main函数中构造一个圆柱体类的对象,利用构造函数来初始化圆柱体的底部圆半径和高,利用Display函数显示计算得到的圆柱体的体积。
在main函数中生成多个圆柱体类的对象,利用静态成员变量Sum_Vol来存储多个圆柱题的体积和。
使用拷贝构造函数。
#include<iostream>
using namespace std;
class volume
{
public:
inline void Display()
{
cout << 3.14 * r * r * h << endl;
sum_vol += 3.14 * r * r * h;
};
volume(double, double);
~volume();
volume(const volume&);
static double sum_vol;
private:
double r; double h;
};
volume::volume(double R, double H)
{
r = R; h = H;
cout << "constructor is called!" << endl;
Display();
cout << "当前圆柱体体积之和为:" << sum_vol << endl;
}
volume::~volume()
{
cout << "destructor is called!" << endl;
Display();
}
volume::volume(const volume& vol)
{
r = vol.r;
h = vol.h;
cout << "copy constructor is called!" << endl;
Display();
}
double volume::sum_vol = 0;
int main()
{
cout << "分别输入三个圆柱体的底面半径,高" << endl;
double r1, h1;
cout << "输入第一个圆柱体的底面半径,高" << endl;
cin >> r1 >> h1;
volume v1(r1, h1);
double r2, h2;
cout << "输入第二个圆柱体的底面半径,高" << endl;
cin >> r2 >> h2;
volume v2(r2, h2);
double r3, h3;
cout << "输入第三个圆柱体的额底面半径,高" << endl;
cin >> r3 >> h3;
volume v3(r3, h3);
cout << "将第三个圆柱体复制到第四个圆柱体" << endl;
volume v4 = v3;
return 0;
}