北邮信通C++上机实验六 第七章.docx
- 文档编号:3025830
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:13
- 大小:32.08KB
北邮信通C++上机实验六 第七章.docx
《北邮信通C++上机实验六 第七章.docx》由会员分享,可在线阅读,更多相关《北邮信通C++上机实验六 第七章.docx(13页珍藏版)》请在冰豆网上搜索。
北邮信通C++上机实验六第七章
7.3实验题
一、基础题
1.标出下列程序中的错误
#include
usingnamespacestd;
classCSample
{
doublea;
CSample(){a=2.5;};
public:
CSample(intval){};
~CSample(){};
};
2.在下列程序的填空中填上适当的语句,完成立方体体积的计算,并按图7-1的样式输出结果.
要求:
(1)对有注释标记的语句进行功能注释。
(2)建立一个头文件和测试类文件,上机调试并输出下列结果。
程序如下:
#include
usingnamespacestd;
classcube
{
public:
cube();//定义构造函数
~cube();//定义析构函数
intvolume();//定义整型变量表示立方体体积
private:
intheight,width,depth;//定义私有数据成员长宽高
};
cube:
:
cube()
{
height=2;
width=20;
depth=20;
cout<<"Constructorcalled."< } cube: : ~cube() { cout<<"Destructorcalled."< } intcube: : volume() { returnheight*width*depth; } voidmain() { cubecubeone;//定义对象 cout<<"立方体的体积为: "< } 图7-1第1题的输出示例 3.修改下列程序中的错误,并说明调用构造函数和析构函数的次序和次数 #include usingnamespacestd; classCCounter { intvalue; public: voidCCountr() { cout<<"CCounterConstructor1"< value=0; } voidCCountr(intval) { cout<<"CCounterConstructor2"< value=val; } ~CCounter(){cout<<"CCounterDestructor"< }; classCExample { intvalue; public: CCountercar; CExample() { cout<<"CExampleConstructor1"< value=0; } CExample(intval) { cout<<"CExampleConstructor2"< value=val; } ~CExample(){cout<<"CExampleDestructor"< voidDisplay(){cout<<"value="< }; voidmain() { CExampleobj(350); obj.Display(); } 调用构造函数和析构函数顺序: CExample(intval)——~CExample()——~CCounter() 4.上机调试下列程序,说明出错的原因,并提交正确的程序。 输出结果如图7-2所示。 #include usingnamespacestd; classPoint { protected: intx; public: intGetx(){returnx;} intY; voidinit(inta,intb){x=a;Y=b;} intGety(){returnY;} voidSetx(inta){x=a;} voidSety(intb){Y=b;} }; voidmain() { PointA,B; A.init(25,27); B.init(29,31); cout<<"A.x="< cout<<"B.x="< cout<<"A.Y="< cout<<"A.y="< cout<<"B.y="< cout<<"B.y="< } 图7-2第4题的输出显示 5.阅读以下程序,写出下列程序的运行结果,并对有注释带注释标记语句进行功能注释 #include usingnamespacestd; classbase { private: inti; staticintk;//设置静态变量k public: base(){i=0;k++;}//定义构造函数 voidDisplay(); }; voidbase: : Display() { k=k+10; i++; cout<<"i="< } intbase: : k=0;//初始化k值 voidmain() { basea,b; a.Display(); b.Display(); } 运行结果为: i=1,k=12 i=1,k=22 二、编程题 1.设计一个类用于对整数进行判别,并根据判断的结果分别统计所判断过的正整数和负 整数的个数,并以格式显示其统计结果。 #include usingnamespacestd; classnum { inta[]; intzheng=0; intling=0; intfu=0; voidjudge() { for(inti=0;a[i]! ='/0';i++) { if(a[i]>0) zheng++; elseif(a[i]==0) ling++; else fu++; } } voidshow() { cout>>"正数: "< cout>>"负数: "< cout>>"零: "< } }; 2.编写一个程序,定义一个类,此类包括3个私有数据成员: colorcast(彩电)、ridge(冰箱)、washer洗衣机以及total(当天总收入)。 彩电目前的价格是4200元/每台、冰箱目前的价格是2800元/每台、洗衣机的价格1500元/每台。 要求实现输入彩电、冰箱、洗衣机的价格和当天所卖出的数量,本程序将计算出百货商店家电部当天的总营业额。 #include usingnamespacestd; classdianqi { public: voidgetprice(intx=0,inty=0,intz=0) { colorcast=x; ridge=y; washer=z; }; voidtotal(inta=0,intb=0,intc=0) { intt=a*colorcast+b*ridge+c*washer; cout< }; private: intcolorcast; intridge; intwasher; }; voidmain() { dianqidian; dian.getprice(4200,2800,1500); cout<<"请分别输入彩电,冰箱,洗衣机的销售数量: "; inta=0,b=0,c=0; cin>>a; cout<<""; cin>>b; cout<<""; cin>>c; cout< cout<<"总营业额为: "; dian.total(a,b,c); } 3.编写一个程序,定义一个汽车类(car),其中包括车型、颜色、车门数、座位数和轴距等属性,包括chage_parameters()和disp_parameters()等函数;disp_parameters()显示车型、颜色、车门数、座位数和轴距属性,函数change_parameters()改变对象的车型、颜色、车门数、座位数和轴距属性,实现并测试这个类。 #include #include usingnamespacestd; classcar { private: stringsize; charcolor; intdoors; intseats; doubledistance; public: voidshow() { cout<<"型号: "< cout<<"颜色: "< cout<<"车门数: "< cout<<"座位数: "< cout<<"轴距: "< } voidchange(stringa,charb,intc,intd,doublee) { size=a; color=b; doors=c; seats=d; distance=e; } }; 4.编写一个程序,使其可实现输入5个学生学号、姓名、性别和年龄,并按年龄从大到小进行排序输出。 #include usingnamespacestd; classstudent { public: intnum; charname[20]; charsex; intage; }; voidmain() { studentstu[5]; studenttemp; for(inti=0;i<5;i++) { cout<<"输入第"< "; cin>>stu[i].num; cout<<"输入第"< "; cin>>stu[i].name; cout<<"输入第"< "; cin>>stu[i].sex; cout<<"输入第"< "; cin>>stu[i].age; } for(inti=1;i<5;i++) { for(intj=0;j<5-i;j++) { if(stu[j
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北邮信通C+上机实验六 第七章 北邮信通 C+ 上机 实验 第七
![提示](https://static.bdocx.com/images/bang_tan.gif)