C类上机习题分析和总结.docx
1、定义一个BOX类,包括长、宽、高、密度成员变量,以及计算表面积、体积和质量的成员函数。创建无参数构造函数和含参数构造函数进行初始化,创建析构函数输出”deletebox”,在主函数中进行BOX对象的初始化(两种方法),并输出表面积、体积和质量。
#includeiostream
usingnamespacestd;classBox
{
public:
intweight;intlength;inthight;
doubledensity;Box()
{
weight=0;length=0;hight=0;density=0;
}
Box(intw,intl,inth,doubled)
{
weight=w;length=l;hight=h;density=d;
}
~Box()
{
coutdeleteboxendl;
}
voidbox_shape(intw,intl,inth);intbox_volume(intw,intl,inth);intbox_area(intw,intl,inth);
doublebox_mass(intw,intl,inth,doubledensity);
};
intmain()
{
Boxmybox;
coutPleaseEnterweight(m),length(m),hight(m),density(kg/m3):;cinmybox.weightmybox.lengthmybox.hightmybox.density;
intbox_v,box_a;floatbox_mass;
box_v=mybox.box_volume(mybox.weight,mybox.length,mybox.hight);coutThisboxsvolume=box_vm3endl;
box_a=mybox.box_area(mybox.weight,mybox.length,mybox.hight);coutThisboxsarea=box_am2endl;
box_mass=mybox.box_mass(mybox.weight,mybox.length,mybox.hight,mybox.density);coutThisboxsarea=box_masskgendl;
Boxmybox2(10,20,20,3.0);
box_v=mybox2.box_volume(mybox2.weight,mybox2.length,mybox2.hight);coutThisboxsvolume=box_vm3endl;
box_a=mybox2.box_area(mybox2.weight,mybox2.length,mybox2.hight);coutThisboxsarea=box_am2endl;
box_mass=mybox.box_mass(mybox2.weight,mybox2.length,mybox2.hight,mybox2.density);coutThisboxsarea=box_masskgendl;
}
intBox::box_volume(intw,intl,inth)
{
returnw*l*h;
}
intBox::box_area(intw,intl,inth)
{
return2*w*l+2*l*h+2*w*h;
}
doubleBox::box_mass(intw,intl,inth,doubledensity)
{
returnw*l*h*density;
}
2、定义一个Cylinder类,包括长、半径成员变量,以及计算表面积、体积的成员函数。为其填加带参数的重载构造函数,一个对实现半径初始化,一个实现对半径和长度的初始化。要求:
1).采用默认构造函数建立对象,进行初始化,输出计算面积和体积。并输出表面积、体积和质量。
采用重载的一个参数构造函数建立对象数组,进行初始化Cylindermycylinder1[2]={Cylinder(10),Cylinder(20)};输出所有计算面积和体积。
采用重载的二个参数构造函数建立对象,进行初始化,输出计算面积和体积。
#includeiostreamusingnamespacestd;classCylinder
{
pub