编写基于对象的程序,求3个长方柱(Bulk)的体积。数据成员包括长(length)、宽(width)、高(heigth)、体积,要求设计成员函数实现下面的功能:
(1)由键盘输入3个长方柱的长、宽、高;
(2)计算长方柱的体积(volume)和表面积(areas);
(3)输出这3个长方柱的体积和表面积;
#include<iostream>
using namespace std;
class Bulk
{
public:
int areas();
int volume();
void setBulk(int x,int y,int z);
void show();
private:
int length;
int width;
int heigth;
int area;
int volumes;
};
void Bulk::setBulk(int x,int y,int z)
{
length=x;
width=y;
heigth=z;
}
int Bulk::volume()
{
return length*width*heigth;
}
int Bulk::areas()
{
int x,y,z;
x=width*length;
y=width*heigth;
z=heigth*length;
return 2*(x+y+z);
}
void Bulk::show()
{
cout<<volume()<<','<<areas()<<endl;
}
int main()
{
Bulk Bu1,Bu2,Bu3;
int x,y,z;
cout<<"输入长宽高"<<endl;
cin>>x>>y>>z;
Bu1.setBulk(x,y,z);
Bu1.areas();
Bu1.volume();
Bu1.show();
cin>>x>>y>>z;
Bu2.setBulk(x,y,z);
Bu2.areas();
Bu2.volume();
Bu2.show();
cin>>x>>y>>z;
Bu3.setBulk(x,y,z);
Bu3.areas();
Bu3.volume();
Bu3.show();
return 0;
}
第一次的程序,出现的结果都是一,发现导致这一结果的原因是没有将函数的值打印出来。改正之后就能得到想要的答案了。但就刚刚看了老师的参考,发现自己虽然将最终结果表达出来,但方法用的极差,对于方法的选择还得继续加强,这个是由类来完成,但自己还是有一些顾虑,我用的方法是类还是表面看起来是类,还是表面像类但又不是类呢。好像走到了新的瓶颈,对以后还是有一些迷茫,但还是得继续加油。