欢迎来到天天文库
浏览记录
ID:56767609
大小:72.00 KB
页数:15页
时间:2020-07-08
《郑彬 OOP实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、福建农林大学计算机与信息学院实验报告系(教研室):计算机系专业:计算机科学与技术年级:08级实验课程:面向对象程序设计姓名:郑彬学号:实验室号:_513_计算机号:2实验时间:9月29日、10月13日指导教师签字:成绩:实验二类与对象(验证性)一、实验目的和要求1.掌握类、类的数据成员、类的成员函数的定义方式,理解类成员的访问控制方式。2.掌握对象的定义和操作对象的方法。3.掌握构造函数和析构函数的概念,掌握几种特殊构造函数。4.理解对象数组、对象指针的概念并能正确应用。5.理解类的组合关系(对象成员)。6.理解this、cons
2、t、new/delete等关键字的用法并能够正确应用。7.掌握静态成员的基本使用方法。8.掌握友元的使用方法,进一步理解其概念和作用。二、实验内容和原理1.下面程序sy3_1.cpp中用ERROR标明的语句有错,在不删除和增加代码行的情况下,改正错误语句,使其正确与运行。//sy3_1.cpp#includeusingnamespacestd;classAa{public:Aa(inti=0){a=i;cout<<"Constructor"<3、usingnamespacestd;classTPoint{public:TPoint(intx,inty){X=x;Y=y;}TPoint(TPoint&p);~TPoint(){cout<<"Destructoris4、called";}intgetx(){returnX;}intgety(){returnY;}private:intX,Y;};TPoint::TPoint(TPoint&p){X=p.X;Y=p.Y;cout<<"Copy-initializentionConstructoriscalled";}intmain(){TPointp1(4,9);TPointp2(p1);TPointp3=p2;cout<<"p3=("<5、oint类的带有两个参数的构造函数进行修改,在函数体内增添下述语句:cout<<"Contructoriscalled."(1)写出程序的输出结果,并解释输出结果。(2)按下列要求进行调试;在主函数体内,添加下列说明语句:Tpointp4,p5(2);调试程序会出现什么现象?为什么?如何解决?(提示:对已有的构造函数进行适当修改)结合运行结果分析如何使用不同的构造函数创建不同的对象。3.对教材中Li3_11.cpp的主函数做如下修改:(1)将Heapclass*pa1,*pa2改为Heapclass*pa1,*pa2,*p3;6、(2)在语句pa=newheapclass;后增加语句pa3=newHeapclass(5);(3)将语句if(!pa17、8、!pa2)改为if(!pa19、10、!pa211、12、!pa3);(4)在语句deletepa2;后增加语句deletepa3;写出程序的输出结果,并解释输出结果。4.请定义一个矩形类(Rectangle),私有数据成员为矩形的长度(len)和宽度(wid),无参构造函数置len和wid为0,有参构造函数置len和wid为对应形参的值,另外还包括求矩形周长,求矩形面积,取矩形长度和宽度,修改矩形长度和宽度为对应形参的值13、,输出矩形尺寸等公有成员函数。要求输出矩形尺寸的格式为”length:长度,width:宽度”。(sy3_3.cpp)5调试下列程序,写出输出结果,并分析输出结果。//sy4_1.cpp#includeusingnamespacestd;classMy{public:My(intaa){A=aa;B-=aa;}staticvoidfun(Mym);private:intA;staticintB;};voidMy::fun(Mym){cout<<"A="<14、ndl;}intMy::B=100;intmain(){MyP(6),Q(8);My::fun(P);Q.fun(Q);return0;}6.分析并调试程序,完成下列问题。//sy4_2.cpp#include#include<
3、usingnamespacestd;classTPoint{public:TPoint(intx,inty){X=x;Y=y;}TPoint(TPoint&p);~TPoint(){cout<<"Destructoris
4、called";}intgetx(){returnX;}intgety(){returnY;}private:intX,Y;};TPoint::TPoint(TPoint&p){X=p.X;Y=p.Y;cout<<"Copy-initializentionConstructoriscalled";}intmain(){TPointp1(4,9);TPointp2(p1);TPointp3=p2;cout<<"p3=("<5、oint类的带有两个参数的构造函数进行修改,在函数体内增添下述语句:cout<<"Contructoriscalled."(1)写出程序的输出结果,并解释输出结果。(2)按下列要求进行调试;在主函数体内,添加下列说明语句:Tpointp4,p5(2);调试程序会出现什么现象?为什么?如何解决?(提示:对已有的构造函数进行适当修改)结合运行结果分析如何使用不同的构造函数创建不同的对象。3.对教材中Li3_11.cpp的主函数做如下修改:(1)将Heapclass*pa1,*pa2改为Heapclass*pa1,*pa2,*p3;6、(2)在语句pa=newheapclass;后增加语句pa3=newHeapclass(5);(3)将语句if(!pa17、8、!pa2)改为if(!pa19、10、!pa211、12、!pa3);(4)在语句deletepa2;后增加语句deletepa3;写出程序的输出结果,并解释输出结果。4.请定义一个矩形类(Rectangle),私有数据成员为矩形的长度(len)和宽度(wid),无参构造函数置len和wid为0,有参构造函数置len和wid为对应形参的值,另外还包括求矩形周长,求矩形面积,取矩形长度和宽度,修改矩形长度和宽度为对应形参的值13、,输出矩形尺寸等公有成员函数。要求输出矩形尺寸的格式为”length:长度,width:宽度”。(sy3_3.cpp)5调试下列程序,写出输出结果,并分析输出结果。//sy4_1.cpp#includeusingnamespacestd;classMy{public:My(intaa){A=aa;B-=aa;}staticvoidfun(Mym);private:intA;staticintB;};voidMy::fun(Mym){cout<<"A="<14、ndl;}intMy::B=100;intmain(){MyP(6),Q(8);My::fun(P);Q.fun(Q);return0;}6.分析并调试程序,完成下列问题。//sy4_2.cpp#include#include<
5、oint类的带有两个参数的构造函数进行修改,在函数体内增添下述语句:cout<<"Contructoriscalled."(1)写出程序的输出结果,并解释输出结果。(2)按下列要求进行调试;在主函数体内,添加下列说明语句:Tpointp4,p5(2);调试程序会出现什么现象?为什么?如何解决?(提示:对已有的构造函数进行适当修改)结合运行结果分析如何使用不同的构造函数创建不同的对象。3.对教材中Li3_11.cpp的主函数做如下修改:(1)将Heapclass*pa1,*pa2改为Heapclass*pa1,*pa2,*p3;
6、(2)在语句pa=newheapclass;后增加语句pa3=newHeapclass(5);(3)将语句if(!pa1
7、
8、!pa2)改为if(!pa1
9、
10、!pa2
11、
12、!pa3);(4)在语句deletepa2;后增加语句deletepa3;写出程序的输出结果,并解释输出结果。4.请定义一个矩形类(Rectangle),私有数据成员为矩形的长度(len)和宽度(wid),无参构造函数置len和wid为0,有参构造函数置len和wid为对应形参的值,另外还包括求矩形周长,求矩形面积,取矩形长度和宽度,修改矩形长度和宽度为对应形参的值
13、,输出矩形尺寸等公有成员函数。要求输出矩形尺寸的格式为”length:长度,width:宽度”。(sy3_3.cpp)5调试下列程序,写出输出结果,并分析输出结果。//sy4_1.cpp#includeusingnamespacestd;classMy{public:My(intaa){A=aa;B-=aa;}staticvoidfun(Mym);private:intA;staticintB;};voidMy::fun(Mym){cout<<"A="<14、ndl;}intMy::B=100;intmain(){MyP(6),Q(8);My::fun(P);Q.fun(Q);return0;}6.分析并调试程序,完成下列问题。//sy4_2.cpp#include#include<
14、ndl;}intMy::B=100;intmain(){MyP(6),Q(8);My::fun(P);Q.fun(Q);return0;}6.分析并调试程序,完成下列问题。//sy4_2.cpp#include#include<
此文档下载收益归作者所有