实验8继承一Word格式.docx
- 文档编号:17936481
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:11
- 大小:38.56KB
实验8继承一Word格式.docx
《实验8继承一Word格式.docx》由会员分享,可在线阅读,更多相关《实验8继承一Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
(任课
教
师
提
供)
一、实验目的
1.理解继承的含义以及声明;
2.理解共有派生、私有派生和保护派生的含义以及使用;
3.理解单派生类中构造函数和析构函数的调用顺序。
二、实验内容
练习
(一):
1.理解下面的程序,并在VC++下运行查看结果,回答程序后面的问题。
#include"
"
classCBase
{
public:
CBase(inta)
:
a(a)
{
}
protected:
voidprint()
cout<
<
a="
a<
endl;
private:
inta;
};
classCDerive:
publicCBase
CBase:
:
print();
b="
b<
intb;
voidmain()
CDerived;
();
CBaseb;
}
问题一:
以上程序有两大错误,试指出来,并改正之
2.理解下面的程序,并在VC++下运行查看结果,回答程序后面的问题。
basestructure"
~CBase()
basedestructure"
CDerive(inta,intb,intc)
CBase(a),b(b),c(c)
derivestructure"
~CDerive()
derivedestructure"
="
c="
c<
intc;
CDerived(1,2,3);
-----------------------------------------------------①
以上程序的输出结果是什么,说明为什么
问题二:
①处语句执行完后,的值为多少
练习
(二):
1.定义点CPoint类作为基类,在此基础上派生出直线CLine类和圆CCircle类,并要求基类和各派生类具有以下特点:
a.CLine类含有计算直线长度和斜率的成员函数;
b.CCircle类含有计算圆面积的成员函数。
内
容
(由学
生
填
写)
实验一:
错误一:
没有声明派生类的构造函数,以至于不能对基类的数据成员初始化。
错误二:
访问限定符为保护,则不能在类外访问,只能在类内或派生类中访问。
修改后代码如下所示:
#include<
iostream>
usingnamespacestd;
CDerive(intb,inta):
b(b),CBase(a)
intmain()
CDerived(4,6);
CBaseb(5);
试验二:
错误:
通过对象不能访问保护成员。
intmain()
运行结果如图:
通过运行结果可以说明:
在基类中如果构造函数有参数且在派生类中有对象成员,那么在派生类中先调用基类的构造函数再调用对象成员的构造函数,最后调用派生类的构造函数。
析构函数正好相反。
试验三:
代码如下所示:
cmath>
classCPoint
CPoint(inta,intb,intc,intd):
x1(a),y1(b),x2(c),y2(d)
intx1,y1,x2,y2;
classCLine:
publicCPoint
CLine(intx1,inty1,intx2,inty2):
CPoint(x1,y1,x2,y2)
voidDistance()
len=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
cout<
直线长度为:
len<
voidXielv()
k=(double)(y2-y1)/(x2-x1);
直线斜率为:
k<
doublek,len;
classCCircle:
CCircle(intx1,inty1,intx2,inty2):
voidArea()
r=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
area=PI*r*r;
圆的面积为:
area<
doubler,area;
constdoublePI=;
ints1,s2,s3,s4;
输入第一个点的坐标:
;
cin>
>
s1>
s2;
输入第二个点的坐标:
s3>
s4;
CLinet1(s1,s2,s3,s4);
CCirclet2(s1,s2,s3,s4);
定义了基类CPoint和派生类Cline、Circle。
通过共有继承构造函数获得来自基类的坐标。
然后在派生类中具体实现。
总
结
老师问试验二:
错在哪运行结果是啥
回答:
将保护访问限定符设定为共有访问限定符,运行结果为1、2、3.
说明:
1、每个实验项目填写一份实验报告,电子版命名方式为:
学号姓名项目号.doc。
例如:
82张三表示张三做的第3个项目的实验报告。
2、实验报告电子版应该在实验后一周内提交到教务处网站的网络综合平台对应课程下。
3、任课教师要求在收到实验报告的一周内进行批阅,并给出成绩及评语。
4、实验报告电子版由教务处网站服务器保存。
5、表格宽度可以根据实际情况伸缩。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 继承