福建农林大学计算机与信息学院实验报告18pWord格式文档下载.docx
- 文档编号:14505603
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:14
- 大小:49.51KB
福建农林大学计算机与信息学院实验报告18pWord格式文档下载.docx
《福建农林大学计算机与信息学院实验报告18pWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《福建农林大学计算机与信息学院实验报告18pWord格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
Constructor"
a<
endl;
}
~Aa(){cout<
Destructor"
voidprint(){cout<
private:
inta;
};
intmain()
Aaa1
(1),a2
(2);
a1.print();
a2.a<
//ERROR
return0;
}
2.调试下列程序。
//sy3_2.cpp
classTPoint
TPoint(intx,inty){X=x;
Y=y;
TPoint(TPoint&
p);
~TPoint(){cout<
Destructoriscalled\n"
;
intgetx(){returnX;
intgety(){returnY;
intX,Y;
TPoint:
:
p)
X=p.X;
Y=p.Y;
Copy-initializentionConstructoriscalled\n"
TPointp1(4,9);
TPointp2(p1);
TPointp3=p2;
p3=("
p3.getx()<
"
p3.gety()<
)\n"
在该程序中,将TPoint类的带有两个参数的构造函数进行修改,在函数体内增添下述语句:
Contructoriscalled.\n"
(1)写出程序的输出结果,并解释输出结果。
(2)按下列要求进行调试;
在主函数体内,添加下列说明语句:
Tpointp4,p5
(2);
调试程序会出现什么现象?
为什么?
如何解决?
(提示:
对已有的构造函数进行适当修改)结合运行结果分析如何使用不同的构造函数创建不同的对象。
3.对教材中Li3_11.cpp的主函数做如下修改:
(1)将Heapclass*pa1,*pa2改为Heapclass*pa1,*pa2,*p3;
(2)在语句pa=newheapclass;
后增加语句pa3=newHeapclass(5);
(3)将语句if(!
pa1||!
pa2)改为if(!
pa2||!
pa3);
(4)在语句deletepa2;
后增加语句deletepa3;
写出程序的输出结果,并解释输出结果。
4.请定义一个矩形类(Rectangle),私有数据成员为矩形的长度(len)和宽度(wid),无参构造函数置len和wid为0,有参构造函数置len和wid为对应形参的值,另外还包括求矩形周长,求矩形面积,取矩形长度和宽度,修改矩形长度和宽度为对应形参的值,输出矩形尺寸等公有成员函数。
要求输出矩形尺寸的格式为”length:
长度,width:
宽度”。
(sy3_3.cpp)
5调试下列程序,写出输出结果,并分析输出结果。
//sy4_1.cpp
classMy
My(intaa)
{
A=aa;
B-=aa;
}
staticvoidfun(Mym);
intA;
staticintB;
voidMy:
fun(Mym)
cout<
A="
m.A<
B="
m.B<
intMy:
B=100;
MyP(6),Q(8);
My:
fun(P);
Q.fun(Q);
return0;
6.分析并调试程序,完成下列问题。
//sy4_2.cpp
cmath>
My(doublei=0){x=y=i;
My(doublei,doublej){x=i;
y=j;
My(My&
m){x=m.x;
y=m.y;
frienddoubledist(My&
a,My&
b);
doublex,y;
doubledist(My&
b)
doubledx=a.x-b.x;
doubledy=a.y-b.y;
returnsqrt(dx*dx+dy*dy);
Mym1,m2(15),m3(13,14);
Mym4(m3);
Thedistancel:
dist(m1,m3)<
Thedistance2:
dist(m2,m3)<
Thedistance3:
dist(m3,m4)<
Thedistance4:
dist(m1,m2)<
(1)指出所有的构造函数,它们在本程序中分别起什么作用?
(2)指出设置默认参数的构造函数。
(3)指出友元函数,将友元函数放到私有部分,观察结果是否有变化。
(4)写出输出结果,并分析输出结果。
7.定义一个Student类,在该类的定义中包含一个数据成员score(分数),两个静态数据成员total(总分)和学生人数count;
成员函数scoretotalcount(floats)用于设置分数,求总分和累计学生人数;
静态成员函数sun()用于返回总分;
静态成员函数average()用于求平均值。
在main函数中,输入某班同学的成绩,并调用上述函数求全班学生的总分和平均分(sy4_3)
8.声明Book和Ruler两个类,二者都有weight属性,定义二者的一个友元函数totalWeight(),计算两者的重量和。
(sy4_4.cpp)
三、实验环境
微机及VisualC++6.0。
四、算法描述及实验步骤
1.将cout<
改为a2..print();
然后进行调试运行。
2.在该程序中,将TPoint类的带有两个参数的构造函数进行修改,在函数体内增添下述语句:
”Contructoriscalled.\n”
(2)按下列要求进行调试;
观察调试时出现的现象,解释原因并解决
3.写出修改后的程序的结果,并解释输出结果
修改后的程序:
classHeapclass
Heapclass(intx);
Heapclass();
~Heapclass();
inti;
Heapclass:
Heapclass(intx)
i=x;
Contstructoriscalled."
i<
Heapclass()
DefaultContstructoriscalled."
~Heapclass()
Defaultiscalled."
Heapclass*pa1,*pa2,*pa3;
pa1=newHeapclass(4);
pa2=newHeapclass;
pa3=newHeapclass(5);
if(!
pa3)
{
cout<
OutofMemory!
return0;
Exitmain"
deletepa1;
deletepa2;
deletepa3;
4#include<
classRectangle
Rectangle(){len=0;
wid=0;
Rectangle(doubleLen,doubleWid){len=Len;
wid=Wid;
doubleCircumference(){return2*(len+wid);
doubleArea(){returnlen*wid;
doublegetl(){returnlen;
doublegetw(){returnwid;
voidcharge(doublea,doubleb){len=a;
wid=b;
print(){cout<
length:
len<
width:
wid;
intlen,wid;
Rectanglep1;
Rectanglep2(4.0,5.0);
p1的矩形尺寸:
p1.print();
p2的矩形尺寸:
p2.print();
p2周长:
p2.Circumference()<
p2面积:
p2.Area()<
p2的长度:
p2.getl()<
p2的宽度:
p2.getw()<
p2.charge(5.0,6.0);
修改后的矩形的尺寸:
5.调试程序所有sy4_1,写出输出结果,分析输出结果。
6.分析调试sy4_2,回答sy4_2的问题。
7.
程序如下:
//sy4_3
classstudent
voidscoretot
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 福建 农林 大学计算机 信息 学院 实验 报告 18