类与对象(长方柱)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fu_yunjian/article/details/52186074

编写基于对象的程序,求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;
}

第一次的程序,出现的结果都是一,发现导致这一结果的原因是没有将函数的值打印出来。改正之后就能得到想要的答案了。但就刚刚看了老师的参考,发现自己虽然将最终结果表达出来,但方法用的极差,对于方法的选择还得继续加强,这个是由类来完成,但自己还是有一些顾虑,我用的方法是类还是表面看起来是类,还是表面像类但又不是类呢。好像走到了新的瓶颈,对以后还是有一些迷茫,但还是得继续加油。

展开阅读全文

没有更多推荐了,返回首页