ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:17.24KB ,
资源ID:10443661      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10443661.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验5 继承与派生.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

实验5 继承与派生.docx

1、实验5 继承与派生序号:实验5 继承与派生 实验目的1、了解继承在面向对象程序设计中的重要作用; 2、进一步理解继承与派生的概念;3、学会通过继承派生出一个新类的方法;实验要求给出以下各实验内容的源程序代码,并把编译、运行过程中出现的问题以及解决方法填入实验报告中,按时上交。实验学时 2学时。实验内容1、声明一个人员类(Person),包括3个数据成员:name(姓名)、age(年龄)、sex(性别);2个成员函数:构造函数和输出相关信息的函数display()。利用单继承的方式声明一个学生(Student)派生类,其中增加2个数据成员:grade(年级)、score(总学分);3个成员函数:

2、构造函数、输出函数show()和增加学分的函数add()。在定义派生类对象时给出初始化的数据,然后输出这些数据。源程序#include#includeusing namespace std;class Person public: Person(string na,int ag,string se) name=na;age=ag;sex=se; void display() coutname:nameendl; coutage:ageendl; coutsex:sexendl; private: string name; int age; string sex; ;class Student

3、: public Person public: Student(string na,int ag,string se,string gr,float sc):Person(na,ag,se) grade=gr;score=sc; void show() display(); coutgrade:gradeendl; coutscore:scoreendl; void add(); private: string grade; float score; ;int main() Student stu1(小明,19,男,广告11A-2,93); stu1.show(); return 0;2、分别

4、定义教师 (Teacher)类和干部 (Cadre)类,采用多重继承方式由这两个类派生出新类:教师兼干部(Teacher_Cadre)。要求: 在两个基类中都包含姓名、性别、地址、电话等数据成员。 在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务), 在Teacher_Cadre类中还包含数据成员wages(工资)。 对两个基类中的姓名、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域。 在类体中声明成员函数,在类外定义成员函数。 在派生类Teacher_Cadre的成员函数show()中调用Teacher类中的disp

5、lay()函数,输出姓名、性别、职称、地址、电话,然后再用cout语句输出职务与工资。 源程序#include#includeusing namespace std;class Teacher public: Teacher(string na,string se,string ti,string ad,long ph); void display(); protected: string name; string sex; string title; string address; long phone; ;Teacher:Teacher(string na,string se,string

6、 ti,string ad,long ph) name=na; sex=se; title=ti; address=ad; phone=ph;void Teacher:display() cout姓名:nameendl; cout性别:sexendl; cout职称:titleendl; cout地址:addressendl; cout电话:phoneendl;class Cadre public: Cadre(string na,string se,string ad,long ph,string po); void display(); protected: string name; st

7、ring sex; string address; long phone; string post;Cadre:Cadre(string na,string se,string ad,long ph,string po) name=na; sex=se; address=ad; phone=ph; post=po;void Cadre:display() cout姓名:nameendl; cout性别:sexendl; cout地址:addressendl; cout电话:phoneendl; cout职务:postendl;class TeacherCadre:public Teacher,

8、public Cadre public: TeacherCadre(string na,string se,string ad,long ph,string ti,string po,float wa):Teacher(na,se,ti,ad,ph),Cadre(na,se,ad,ph,po) wages=wa; void show(); private: float wages;void TeacherCadre : show() Teacher:display(); cout职务:postendl; cout工资:wagesendl;int main() TeacherCadre TC1(

9、小明,男,北京工商大学,66667748,硕士,教学校长,8000); TC1.show(); return 0;3、类的组合应用。现有两个类:教师(Teacher)类和日期(Date)类。其中Teacher类中包含数据成员name(姓名)、(sex)性别、(birthday)出生日期(日期类Date的子对象)、title(职称);Date类包含year(年)、month(月)、day(日)等数据成员。教授(Professor)类是Teacher类的派生类,增加教授级别(grade) 数据成员。各类中都有相应的构造函数、析构函数等成员函数。请设计各类,并在定义Professor类对象时给出所有

10、数据的初值,然后修改该对象的生日数据,最后输出该对象的全部最新数据。源程序#include#includeusing namespace std;class Date public: Date(int ye,int mo,int da) year=ye;month=mo;day=da; Date(); void display() cout出生年、月、日: year年month月day日endl; void change1(int year1,int month1,int day1) year=year1; month=month1; day=day1; protected: int year

11、; int month; int day;class Teacher public: Teacher(int ye,int mo,int da,string na,string se,string ti): birthday(ye,mo,da) name=na;sex=se;title=ti; Teacher(); void display() cout姓名: nameendl; cout性别: sexendl; cout职称: titleendl; protected: string name; string sex; Date birthday; string title; ;class

12、Professor : public Teacher public: Professor(int ye,int mo,int da,string na,string se,string ti,string gr):Teacher(ye,mo,da,na,se,ti) grade=gr; Professor(); void show() Teacher:display(); birthday.display(); cout教授级别: gradeendl; void change(int year1,int month1,int day1) birthday.change1(year1,month

13、1,day1); private: string grade; ;int main() int year1,month1,day1; Professor p1(1962,11,11,小明,男,教授,中等); cout原始数据为: endl; p1.show(); coutendl; cout year1month1day1; coutendl修改后的数据为: endl; p1.change(year1,month1,day1); p1.show(); return 0;4、在屏幕上以某一特定点为中心,画弧、画圆、画椭圆、画矩形,这些综合图形可以定义为各种图形的一个多继承派生类,而每一个图形都是

14、Point(点)类的派生类,为了使综合图形类与Point类的一个实例对应,用此实例来表达此图形的共同中心,则将Point类定义为虚基类。试设计虚基类Point(点)类,以及派生类Circle (圆)类、Rectangle(矩形)类,并用程序验证它们的功能。源程序#include #include class Pointprotected: float x; float y;public: Point(float ix, float iy): x(ix), y(iy) Point();class Circle : virtual public Pointpublic: Circle(float

15、rad,float ix,float iy): Point(ix, iy) radius=rad; Circle() void display() circle(radius, x, y); private: float radius;class Rectpublic: Rect(); Rect(int a,int b,int c,int d) left=a; top=b; right=c; bottom=d; void display() rectangle(left,top,right,bottom); Rect();protected: int left; int top; int right; int bottom;void main() int i; initgraph(640, 480); Circle ccc(100,10,100); ccc.display(); Rect rr(110,112,11,11); rr.display(); cini;

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2