武汉大学c++第五次上机试题_第1页
武汉大学c++第五次上机试题_第2页
武汉大学c++第五次上机试题_第3页
武汉大学c++第五次上机试题_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉大学c++第五次上机试题武汉大学c++第五次上机试题武汉大学c++第五次上机试题资料仅供参考文件编号:2022年4月武汉大学c++第五次上机试题版本号:A修改号:1页次:1.0审核:批准:发布日期:实验四类的继承和派生一.实验目的理解继承和派生的概念;学习定义和使用类的继承关系,定义派生类;掌握通过继承派生出一个新类的方法;熟悉不同继承方式下对基类成员的访问控制;学习利用虚基类解决二义性问题;二.知识要点类的继承与派生的内涵及实现方式;基类和派生类的概念;构造函数和析构函数的作用和定义方式。类的继承方式类型及其作用;多重继承继承的概念和实现方式。类的继承体系中,基类和派生类构造函数之间的关系,调用顺序。类的继承体系中,基类和派生类析构函数之间的关系,调用顺序。三.实验内容1.先定义一个二维点类CPoint,然后派生出一个二维直线类CLine。直线的一个端点用基类的数据,另一个端点用添加的数据;数据要封装为私有属性。此外要求:用构造函数设置数据成员(即通过构造函数的参数来设置类的数据成员);用成员函数获取数据成员的值(即通过函数的返回值,或函数的参数返回需要的数据);用析构函数显示数据成员(即调用cout在显示屏上输出);派生出的CLine类的构造函数显式调用基类CPoint的构造函数。编写主函数完成功能测试。2.分别定义教师类CTeacher和干部类CCadre,采用多重继承的方式由这两个类派生出新类CTeacherCadre(教师兼干部类)。要求:在两个基类中都包含姓名、地址、电话等数据成员。在CTeacher类中还包含数据成员职称title,在CCadre类中还包含数据成员职务post,在CTeacherCadre类中还包含数据成员工资wage。对两个基类中的姓名、地址、电话等数据成员用相同的名字,在访问这类数据成员时,指定作用域。在类体中声明成员函数,在类外定义成员函数。在派生类CTeacherCadre的成员函数show中调用CTeacher类中的display函数,输出姓名、地址、电话,然后再用cout语句输出职务和工资。编写主函数完成功能测试。3.某小型公司有四类人员:总经理、技术人员、销售经理、推销员。设计一个基类employee,派生出manager(总经理)、technician(技术人员)、salesmanager(销售经理)、saleman(推销员)。销售经理既是经理又是销售人员,兼具两类人员的特点,因此同时继承manager和salesman两个类。要求如下:1)employee类:基本信息:编号、姓名、性别、出生日期、职位、薪水等;出生日期使用自定义的Date(日期)类;其中:基本信息为private属性,成员函数为public属性;多个构造函数:缺省构造函数、带参数的构造函数、带默认参数的构造函数;2)Date类:成员变量:年、月、日成员函数:SetYear(intyear)、SetMonth(intmonth)、SetDay(intday)GetYear()、GetMonth()、GetDay()3)派生类technician:新增属性:工作时间4)派生类saleman:新增属性:销售额、所属部门5)实现人员信息的录入与显示;6)计算并显示个人月薪:月薪计算办法:总经理拿固定月薪8000元,技术人员按每小时25元领取月薪;推销员的月薪按当月销售额的4%提成;销售经理固定月薪5000元加所管辖部门当月销售总额的5‰。编写主函数完成功能测试。4.假设图书管的图书包含书名、编号和作者属性,读者包含姓名、ID和借书属性,每位读者最多可以借6本书。编写程序列出某读者的借书情况。四.实现要求对每一个实验内容分别建立一个项目。类的定义与实现分别放在在.h和.cpp文件中。代码书写规范。具体要求,①每一行代码只写一条语句;②每一行代码有缩进;③加注释;④变量名要见名知义。1.#include<>classPoint//定义基类Point{protected: intx,y;public: Point(inta=0,intb=0) { x=a;y=b; cout<<"Pointconstructor:"<<x<<','<<y<<endl; } ~Point(){cout<<"Pointdestructor:"<<x<<','<<y<<endl;}};classCline:publicPoint//定义类Point的派生类{protected: ints,t;public: Cline(inta=0,intb=0,intc=0,intd=0):Point(a,b)//显示调用基类的构造函数 { s=c,t=d; cout<<"Clineconstr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论