}
18、定义盒子Box类,要求具有以下成员:
可设置盒子形状;可计算盒子体积;可计算盒子的表面积。
#include
#include
classljwbox
{
public:
voidinputdate(inta,intb,inth);
voidisboxchzh();
voidprint();
intjuanboxtj();
private:
intboxx,boxy,boxh;
};
voidljwbox:
:
inputdate(inta,intb,inth)
{
boxx=a;
boxy=b;
boxh=h;
}
voidljwbox:
:
isboxchzh()
{
if(boxx==boxy&&boxy==boxh&&boxx==boxh)
cout<<"zhenfangti";
else
cout<<"changfangti";
}
voidljwbox:
:
print()
{cout<intljwbox:
:
juanboxtj()
{return(boxx*boxy*boxh);}
voidmain()
{
ljwboxp1,p2;
p1.inputdate(5,5,5);
p1.print();
cout<<"boxis";
p1.isboxchzh();
cout<cout<<"tijiis:
"<p2.inputdate(5,10,4);
p2.print();
cout<<"boxis";
p2.isboxchzh();
cout<cout<<"tijiis:
"<}
#include
classBox
{intx,y,z;intv,s;
public:
voidinit(intx1=0,inty1=0,intz1=0){x=x1;y=y1;z=z1;}
voidvolue(){v=x*y*z;}
voidarea(){s=2*(x*y+x*z+y*z);}
voidshow()
{
cout<<"x="<cout<<"s="<
}
};
voidmain()
{Boxa;
a.init(2,3,4);
a.volue();
a.area();
a.show();
}
19、定义计数器类Counter。
要求具有以下成员:
计数器值;可进行增值和减值记数;可提供记数值。
#include
classCounter
{intn;
public:
Counter(inti=0){n=i;}
voidinit_Counter(intm){n=m;}
voidin_Counter(){n++;}
voidde_Counter(){n--;}
intget_Counter(){returnn;}
voidshow(){cout<};
voidmain()
{Countera;
a.in_Counter();a.show();
a.init_Counter(10);
a.show();
a.de_Counter();
cout<}
20、编写一个程序计算两个给定的长方形的周长和面积。
#include
classrectangle
{intlen,wid;
public:
rectangle(inti=0,intj=0)
{len=i;wid=j;}
friendintarea(rectangletemp)
{
ints=temp.len*temp.wid;
returns;
}
friendfun(rectangletemp)
{
intp=2*(temp.len+temp.wid);
returnp;
}
};
voidmain()
{rectanglea(10,20);
cout<<"长方形的周长和面积为:
"<
rectangleb(100,200);
cout<<"长方形的周长和面积为:
"<
}
21.定义一个圆类,计算圆的面积和周长。
22.建立一个基类building,用来存储一座楼房的层数、房间数以及它的总平方英尺数。
建立派生类Housing,继承Building,并存储下面的内容:
卧室和浴室的数量,另外,建立派生类Office,继承者Building,并存储灭火器和电话的数目。
然后,编制应用程序,建立住宅楼对象和办公楼对象,并输出它们的有关数据。
#include
classBuilding
{
public:
Building(intf,intr,doubleft)
{
floors=f;
rooms=r;
footage=ft;
}
voidshow()
{cout<<"floors:
"<cout<<"rooms:
"<cout<<"totalarea:
"<}
protected:
intfloors;
introoms;
doublefootage;
};
classHousing:
publicBuilding
{
public:
Housing(intf,intr,doubleft,intbd,intbth):
Building(f,r,ft)
{
bedrooms=bd;
bathrooms=bth;
}
voidshow()
{
cout<<"\nHOUSING:
\n";
Building:
:
show();
cout<<"bedrooms:
"<cout<<"bathrooms:
"<}
private:
intbedrooms;
intbathrooms;
};
classOffice:
publicBuilding
{
public:
Office(intf,intr,doubleft,intph,intex):
Building(f,r,ft)
{
phones=ph;
extinguishers=ex;
}
voidshow()
{
cout<<"\nHOUSING:
\n";
Building:
:
show();
cout<<"phones:
"<cout<<"extinguishers:
"<}
private:
intphones;
intextinguishers;
};
voidmain()
{
Housinghob(5,7,140,2,2);
Officeoob(8,12,500,12,2);
hob.show();
oob.show();
}
23、两用沙发,它是一个沙发,也是一张床,两用沙发应允许同时继承沙发和床的特征,sleepersoft继承Bedsofa两个类,请编写这三个类,类中有都有重量成员对象,bed中sleep()成员函数,Soft