c++上机实验报告实验五

c++上机实验报告实验五

ID:31643279

大小:107.95 KB

页数:7页

时间:2019-01-16

c++上机实验报告实验五_第1页
c++上机实验报告实验五_第2页
c++上机实验报告实验五_第3页
c++上机实验报告实验五_第4页
c++上机实验报告实验五_第5页
资源描述:

《c++上机实验报告实验五》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验五实验目的1.学习定义和使用类的继承关系,定义派生类2.熟悉不同继承方式下对基类成员的访问控制3.学习利用虚基类解决二义性问题实验要求1.定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员惭数SetAge(intn)屮直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程尝试。2.定义一个基类BaseClass,W整型变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况。3.定义一个车(vehicle)基类,具有Maxspeed、Weight等成员,Run

2、^Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(motorcar)类有座位数(SeatNun)等属性。从bicycle和motorcar派生出摩托车(motorbicycle)类,在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle设置为虚基类,会有什么问题?编程尝试。实验内容及实验步骤1.编写程序定义基类Animal,成员变量age定义为私有的。构造派生类dog,在其成员函数SetAge(intn)中直接对age赋值吋,会11!现

3、类似以下的错误提示:errorC2248:'age':cannotaccessprivatememberdeclaredinclass'Animal'errorC2248:'age':cannotaccessprivatememberdeclaredinclass'Animal'把age改为公有成员变量后重新编译就可以了。程序名:lab7_l.cpp源代码:#includeusingnamespacestd;classAnimal{public:Animal(){}~Animal(){}intage;};classdog:publ

4、icAnimal{public:dog(){}~dog(){}〃定义Animal类//age设为公有成员〃定义派生类dog公有继承Animal类intSetAge(intn){age=n;}};intmain(){doga;a.SetAge(3);return0;运行结果:2345678910H1112131415161718192021222324^includeusingnamespacestdclassAnimalfpublic:Aninal(){}'Animal(){}priuate:i吐age;•f9classdogp

5、ublicAnimalf€public:dog){}#dog){}intSetAgeintnagen;IJ•99intmain)f€行倍息2deBlockaInmemberfunction*intdog::SetAge(in:deBlccks10error:*intAnimal::age*isprivate3deBlocka...19error:withinthiscontextBuild失败:2error(s)r0warning(s)(doga123456789101112131415161718192021222324ttinclude<

6、iostrean>usingnamespacestdclassAnimalpublic:Animal圉intageclassdogpublicAnimalpublic:dogintSetAgeintnage=nintmain()dogaa.SetAge(3);-ogs&others4Code::BlocksXA搜索结果xZCcccProcessterminatedv±thstatus0(0minute60error(s)z0vamlng(s)(0minute(s),1se1.编写程序定义一个基类BaseClass,构造其派生类DerivedClass

7、,在构造函数和析构函数中用cout输出提示信息,观察构造函数和析构函数的执行情况。程序名:lab7_2.cpp源程序:#includeusingnamespacestd;classBaseClass//基类BaseClass{public:BaseClass(){〃构造函数cout«HBaseClass类构造函数执行!"«endl;}~BaseClass(){〃析构函数cout«nBaseClass类析构函数执行!u«endl;}};classDerivedClass:publicBaseClass〃派生类Derived公有继承基

8、类BaseClasspublic:〃派牛类构造函数DerivedClass(){cout«nDerivedC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。