版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验三派生类与继承班级:123班姓名:朱广金学号:122536一、实验目的1、学习类的继承,能够定义和使用类的继承关系。2、学习派生类的声明与定义方法。3、掌握类的定义和对象的声明。4、熟悉公有派生和私有派生的访问特性。5、掌握派生类构造函数和析构函数的执行顺序。6、掌握利用访问声明调整基类成员在派生类中的访问属性。二、试验内容1、下面的程序可以输出ASCII字符与所对应的数字的对照表。修改下列程序,使其可以输出字母a到z(或任意两个字符间)与所对应的数字的对照表。#include<iostream>/mm* 1omanip的作用:* 主要是对cin,cout之类的一些操纵运算子,
2、比如setfiU,setw,setbase,setprecision等等。它是I/。流控制头文件,就像C里面的格式化输出一样以下是一些常见的控制函数的*dec置基数为1。相当于"%d"* hex置基数为16相当于,姒“"t置基数为8相当于* setfill(c)设填充字符为c* setprecision(n)设显示有效数字为n位* setw(n)设域宽为n个字符* 这个控制符的意思是保证输出宽度为no#include<1omanip>usingnamespacestd;/基类classtable(public:/构造函数table(charp,char
3、q)(1=P;j=q;)voidascii(void);1欢迎下载protected:chari;charj;);/voidtable:ascii(void)(intk=1;for(;i<=j;i+)(每12个换行派生类的构造函数cout<<setw(4)<<i<<(int)i;if(k)%12=0)/cout<<Mn"k+;)cout<<MnM;/派生类classder.table:publictable(public:der_table(charp,charq,char*m):table(p,q)/(c=m;)vo
4、idprint(void);protected:char*c;);/voidder_table:print(void)(cout<<c<<MnM;table:ascii();/主函数intmain()(der_tableoblfa/z','ASCIIvalue-char);obLprint();return0;2欢迎下我精品文档I*提示:修改后的主程序为:intmatn()der_tableob(a7z,MASCIIvalue-charM);ob.print();return0;*ASCIIvalueclktra978nl09xl20y121Pressa
5、nyXb98c”diMSeUJlflM2glU3hlMiltfbJlWbhlU7nll0olllp112q112f114sllGtll&u!17ull8w119zi22keytocontinuekMSKSDBBBn&flBalDBBSSSIHHEHHBBBHHiflEnMHHSSHHBKSHEISKBHBHBBaHHEIHOIHSflSSEEflSB*2、已有类Time和Date,要求设计一个派生类Birthtime,*它继承类Time和Date,并且增加一个数据成员Childname用于表示小孩的名字,*同事设计主程序显示一个小孩的出生时间和名字。*I/*#1nclude&l
6、t;iostream>usingnamespacestd;#include<string>iiiiiilliiiiiiilliiiiillilliiiiiiinnmumunmuuhuuuuuhunun/classTimepublic:Time(inth,intmi,1nts)(hours=h;minutes=mi;seconds=s;)voiddisplay()(cout«”出生时间:"vvhoursvv叩寸”vvminutesvv"分"vvsecondsw”秒“vvendl;3欢迎下我精品文档)protected:inthours;i
7、ntminutes;intseconds;);/classDatepublic:Date(intm,intdjnty)month=m;day=d;year=y;)voiddisplayO£cout«"出生年月:"<<year<<"年"<<month<<"月"«day«"日"«endl;protected:intmonth;intday;intyear;);/classBirthTime:publicTime,publi
8、cDatepublic:BirthTime(inth,1ntmi,ints,intm,intd,intn):Time(s,h,m),Date(m,d,y)name=n;)voiddisplay()cout<<“姓名为:"<<name<<endl;private:stringname;4欢迎下我精品文档/小明)intmatn()BirthTImechild(36,34,12,11,30,2013,“child.displayO;child.Date:display();child.Time:display();return0;3、编写一个学生和教师的
9、数据输入和显示程序。学生数据有编号、姓名、性别、年龄、系别和成绩,教师数据有编号、姓名、性别、年龄、职称和部门。Person,并作为学生类Student要求将编号、姓名、性别、年龄的输入和显示设计成一个类和教师类Teacher的基类。*循nclude<iostream>usingnamespacestd;#include<string>/classPerson(public:Person(intnu,stringna,stringse,intag)number=nu;name=na;sex=se;age=ag;)voiddisplay()(coutw”编号:<&l
10、t;number«endl;coutw”姓名:M«name<<endl;coutw”性另J:M<<sex<<endl;cout<<“年龄:"«age<<endl;Jprivate:int number; /编号string name; /姓名string sex; /性别int age; /年龄);/class Studentrpubllc Person (public:Student(int nu,string na,stringsc):Person(nu,na,se,ag)se,int ag
11、,string fa,doublefaculty=fa;score=sc;void displayOcout«M 系别:"«faculty<<endl; cout<<M 成绩:"<<score<<endl;private:string faculty; /系别double score; /成绩se,intag,stringpo,string/classTeacher:publicPersonpublic:Teacher(1ntnu,stringna,stringde):Person(nu,na,se,ag)
12、position=po;department=de;)voiddisplayO(cout«M职称:"«position<<endl;coutw”部门:M«department<<endl;private:6欢迎下载stringposition;/职称stringdepartment;音部门;/intmain()(Studenta(122536,"小明","男",19计算机院",87);Teacherb(122533;,王明:男33,"特级教师","教务
13、处)coul“学生“<<endl;a.Person:displayo;a. displayO;coutw”老师”endl;b. Person:d1splay0;b.displayO;return0;)J*C/illscrsAAdministrjtorXPesktciplzhiJguargjinxDebugzhu.exe122536小明男芋算机院87122E33王明branypk&ytocontinue4、给出下面的基类:classarea(protected:doubleheight;doublewidth;public:area(doubleh,doublew)heigh
14、t=h;width=w;)7欢迎下我精品文档virtualdoublegetarea()=0;);【要求】(1)建立基类area的俩个派生类rectangle与isosceles,让每一,个派生类都包含一个函数getarea(),分别用来返回矩形与三角形的面积。用构造函数对height与width进行初始化。(2)写出主程序,用来求height与width分别为10.0与5.0的矩形面积,以及求height与width分别为4.0与6.。的三角形面积。(3)要求通过使用基类指针访问虚函数的方法(即运行时的多态性)分别求出矩形和三角形面积。*I/*#include<iostream>
15、usingnamespacestd;#include<string>/Imhhclassareaprotected:doubleheight;doublewidth;public:area(doubleh,doublew)(height=h;width=w;)virtualdoublegetarea()=0;);/limnclassrectangle:virtualpublicarea(public:rectangle(doubleh,doublew):area(h,w)(h1=h;w1=w;)virtualdoublegetarea()(cout«"矩形的面积
16、为:wendl;returnh1*w1;private:doublehi;doublew1;):IiiilliiiiiiIiiiiiiiiIilliiiiiiilliiuuuuuuuIunhuhunnmunnu/IHUHclassisosceles:virtualpublicarea(public:1sosceles(doubleh,doublew):area(h,w)(h2=h;w2=w;)virtualdoublegetarea()(coutvv"三角形的面积:"<<(h2*w2)/2«endl;return(h2*w2)/2;)private:d
17、oubleh2;doublew2;);/intmain()(rectanglea(10.0,5.0);a. getarea();isoscelesb(4.0,6.0);b. getarea();return0;*/rfCAJJicr3bAdmirinDcbugVh_Lc典>>矩形的面积为£5。三窗影的面积t12ankeytocontinue*9欢迎下我品文档5、编写一个程序,递归调用被继承的基类成员函数,实现求素数的功能。#include<iostream>usingnamespacestd;/classNumberpublic:Number()0Number(inti)(m=i;)boolisprime(1nti);protected:intm;);/boolNumber:ispr1me(inti)(if(m=2)return1;if(m=11|m%2=0)return0;if(m%i!=0)returnispr1me(i+2);elsereturn0;if(i>m/2)return1;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年智能制造装备入股合作协议范本
- 2024-2030年中国安全鞋内钢包头市场竞争策略分析及发展趋势研究报告
- 2024年度智能制造设备融资合作意向协议书3篇
- 2024-2030年中国反6烯十八酸项目可行性研究报告
- 梅河口康美职业技术学院《生态建筑》2023-2024学年第一学期期末试卷
- 眉山药科职业学院《建筑室内设计制图与识图》2023-2024学年第一学期期末试卷
- 2024年版公司股份转让及业务重组专项合同版B版
- 马鞍山学院《乡镇总体规划》2023-2024学年第一学期期末试卷
- 2024年度水暖电消防设施改造与节能降耗服务合同2篇
- 2024年小学三年级数学(北京版)-简单分数的加减法-3学习任务单
- 前苏联卡巴列夫斯基的g小调大提琴协奏曲艺术探究
- 在小学语文课堂教学中如何渗透孝道教育研究
- 《2021国标暖通图集资料》96K150-3 圆锥形风帽
- 大班幼儿告状行为的现状及解决策略学前教育专业
- 煤矿井下放炮请示汇报制度范本
- 常见织带花链的排法和穿棕方法
- 拜太岁科仪.doc
- 【公开课】课件——小班数学活动《青蛙跳荷叶》
- 赶工措施施工方案(完整版)
- 犬肾衰竭的诊断和治疗
- 实验二十八 实验设计——食醋中总酸度的测定
评论
0/150
提交评论