已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验4 继承与派生班 级学号(最后两位)姓 名成 绩 一、实验目的1. 熟练掌握类的继承,能够定义和使用类的继承关系2. 掌握派生类的声明与实现方法3. 掌握类构造函数的初始化列表与作用域分辨率的使用方法4. 理解虚基类在解决二义性问题中的作用.二、实验内容1定义一个基类有姓名、性别、年龄,再由基类派生出教师类和学生类,教师类增加工号、职称和工资,学生类增加学号、班级、专业和入学成绩。2声明一个哺乳动物Mammal类,再由此派生出狗Dog类,声明一个Dog类的对象,观察基类与派生类的构造函数与析构函数的调用顺序。3定义一个Point类,派生出矩形类Rectangle和圆类Circle,计算各派生类对象的面积Area()。4设计一个圆类circle和一个桌子类table,另设计一个圆桌类roundtable,它是从前两个类派生的,要求输出一个圆桌的高度、面积和颜色等数据。 5定义一个大学生类student,函数私有数据成员:姓名、学号、校名,并为它定义带参数的构造函数,参数带缺省值的构造函数和输出数据成员值的print()公有成员函数,另定义研究生类,它以公有继承方式派生于类student,新增加“研究方向、导师名”两个私有数据成员,并定义带参数的构造函数和输出研究生数据的print()公有成员函数。在main()函数中定义基类和派生类对象,对类进行测试。三、实验源程序、测试与结论1#include#includeclass personpublic: person (char *a,char *b,int s) name=a; sex=b; score=s; void display() cout姓名:nameendl; cout性别:sexendl; cout年龄:scoreendl; private: char *name ; char *sex ; int score;class student:public personpublic: student(char *a,char *b,int s,char *c,int c2,float s1):person(a,b,s) pro=c; cla=c2; score=s1; void display1() cout学生:endl; display(); cout专业:proendl; cout班级:claendl; cout成绩:scoreendl; coutendl; private: char *pro; int cla ; float score;class teacher: public personpublic: teacher(char *a,char *b,int s,char *p,int n,int sa):person(a,b,s) post=p; num=n; salary=sa; void display2() cout教师:endl; display(); cout工号:numendl; cout职称:postendl; cout工资:salaryendl; coutendl; private: char *post ; int num; int salary; void main() teacher g1(小张,男,38, 老师,03,6742); g1.display2(); student s1(小李,男,19,学生,04,85); s1.display1 ();2#includeiostreamusing namespace std;class Mammalpublic:Mammal()coutset Mammal classendl;Mammal()coutDelete base classendl;class Dog:public Mammalpublic:Dog()coutset Dog classn;Dog()coutDelete Dog classn;void main()Dog b;3#include using namespace std;#define PI 3.14class Pointpublic:Point() : m_x(0), m_y(0)Point(double x, double y) : m_x(x), m_y(y)Point()protected:double m_x;double m_y;class Rectangle : public Pointpublic:Rectangle() : Point()Rectangle(double x, double y) : Point(x, y)Rectangle()double Area()return m_x * m_y;class Circle : public Pointpublic:Circle() : m_r(0)Circle(double r) : m_r(r)Circle()double Area()return PI * m_r * m_r;private:double m_r;void main()double a,b,c;coutab;coutc;Rectangle rect(a, b);Circle circle(c);cout 矩形面积: rect.Area() endl;cout 圆的面积: circle.Area() endl;4#include #define PI 3.14class table;class circle;class roundtable : public table,public circlepublic: void iroundtable(double h,char *c,double r) heigh=h; radius=r; color=c; void display() cout圆桌高度:heighendl; cout圆桌面积: PI*radius*radiusendl; cout圆桌颜色: colorendl; protected: double heigh,radius; char *color;void main() roundtable t; t.iroundtable(4,blue,6); t.display();5#includestring#includeiostreamusing namespace std;class Studentchar *name;char *number;char *college;public:Student();Student(char *p1,char *p2,char *p3);void print();Student:Student(char *p1,char *p2,char *p3)name=new charstrlen(p1)+1;strcpy(name,p1);number=new charstrlen(p2)+1;strcpy(number,p2);college=new charstrlen(p3)+1;strcpy(college,p3);void Student:print()coutname:nameendl;coutnumber:numberendl;coutcollege:collegeendl;class graduate:public Studentchar *special;char *directorname;public:graduate();graduate(char *p1,char *p2,char *p3,char *sp,char *di);void print();graduate:graduate(char *p1,char *p2,char *p3,char *sp,char *di):Student(p1,p2,p3)special=new charstrlen(sp)+1;strcpy(special,sp);directorname=new charstrlen(di)+1;strcpy(directorname,di);void graduate:print()Student:print();coutspecial
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年建筑施工特种作业人员基础理论考试试卷及答案(十二)
- 人教版生物八年级下册7.3.2生物进化的历程 教学设计
- 精准医疗数据挖掘
- 绝缘材料耐温性提升研究
- 重症医学科(ICU)脑出血术后护理指南
- 第14课 制作动态贺卡教学设计小学信息技术(信息科技)第5册鲁教版
- 护理安全核心制度学习课件
- 短视频平台崛起对长视频行业的挑战
- ICU感染性休克症状识别与重症护理技巧培训
- 刑事委托书五
- 2026届高考地理三轮培优复习 海水性质与海水运动
- 2025年上海市公安机关辅警招聘(面试)复习题及答案
- 2026年及未来5年市场数据中国动物模型行业发展运行现状及投资潜力预测报告
- 电网检修工程预算定额(2020年版)全5册excel版
- 儿童自闭症康复机构运营方案
- 2025年新疆克拉玛依市初中学业水平模拟测试道德与法治、历史试卷卷-初中道德与法治
- 2026年广东省佛山市顺德区中考语文一模试卷
- 足疗店内部劳动保障制度
- 2026年公安联考行测试卷
- 2025-2030中国水工金属结构行业投资建议及重点企业竞争力分析研究报告
- 基因治疗产品生产工艺清洁验证残留限度
评论
0/150
提交评论