欢迎来到天天文库
浏览记录
ID:9807936
大小:258.50 KB
页数:13页
时间:2018-05-10
《面向对象派生类与继承实验三》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、福建农林大学计算机与信息学院实验报告系:计算机专业:计算机科学与技术年级:2009级姓名:学号: 实验室号田507、513、514计算机号 实验时间:2011年10月25日、11月1日指导教师签字:成绩:实验3派生类与继承一、实验目的和要求(1)掌握派生类的声明与定义方法,进一步理解类的继承的概念,能够定义和使用类的继承关系。(2)熟悉公有派生和私有派生的访问特性。(3)了解虚基类在解决二义性问题中的作用。二、实验内容和原理(1)定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其
2、成员函数SetAge(intn)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程试试看。(2)定义一个基类BaseClass,有整型成员变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况。(3)定义一个车(vehicle)基类,具有MaxSpeed、Weight等成员变量,Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车类有高度(height)等属性,汽车类有座位数(SeatNum)等
3、属性。从bicycle和motorcar派生出摩托车(motorcycle)类,在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle设置为虚基类,会有什么问题?编程试试看。(4)设计一个用于人事管理的People(人员)类。考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、id(身份证号)等等。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数。从people(人员)类派生出student(学生)类,添加属
4、性:班号charclassNo[7];从people类派生出teacher(教师)类,添加属性:职务charprincipalship[11]、部门chardepartment[21]。从student类派生出graduate(研究生)类,添加属性:专业charsubject[21]、导师teacheradviser;从graduate类和teacher类派出TA(助教生)类,注意虚基类的使用。重载相应的成员函数,测试这些类。三、实验环境联想计算机,WindowsXP操作系统,VisualC++6.0四、算
5、法描述及实验步骤(1)编写源程序。(2)检查程序有无错误(包括语法错误和逻辑错误),有则改之。(3)编译和连接,仔细分析编译信息,如有错误应找出原因并改正之。(4)运行程序,分析结果。(5)将调试好的程序保存在自己的用户目录中,文件名自定。五、调试过程1.2.3.4六、实验结果1.2.3.4.附录:1.#includeusingnamespacestd;classAnimal{public:intage;};classdog:publicAnimal{public:voidSetAge(
6、intn){age=n;}voiddisplay();};voiddog::display(){cout<<"thisdogis"<usingnamespacestd;classBaseClass{public:BaseClass(inti){Number=i;cout<<"Number="<7、eClass(){cout<<"destructingBaseClass"<8、vedClass(){cout<<"destructingDerivedClass"<usingnamespacestd;classvehicle{protected:floatMaxSpeed,Weight;public:voidRun();voidStop();};classbic
7、eClass(){cout<<"destructingBaseClass"<8、vedClass(){cout<<"destructingDerivedClass"<usingnamespacestd;classvehicle{protected:floatMaxSpeed,Weight;public:voidRun();voidStop();};classbic
8、vedClass(){cout<<"destructingDerivedClass"<usingnamespacestd;classvehicle{protected:floatMaxSpeed,Weight;public:voidRun();voidStop();};classbic
此文档下载收益归作者所有