




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、内蒙古科技大学面向对象的程序设计实验报告课程名称:面向对象的程序设计姓名:陈伟光实验名称:多态(二)学号:任课教师:刘月峰专业:软件工程指导教师:刘月峰班级:15-软件一班一、实验目的1理解掌握运算符、()的重载;2理解类型转换,掌握类型转换函数的设计和使用;3理解和掌握虚函数的作用;4掌握利用虚函数实现C+的运行时多态性;5理解纯虚类和抽象类。二、实验环境编译器:Visual C+ 6.0.操作系统:Windows 7旗舰版三、实验内容2.1练习(一):1理解下面的程序,并在VC+6.0下运行查看结果,回答程序后面的问题。#include #include stdlib.hclass CCo
2、mplexpublic:CComplex(double r = 0, double i = 0) real = r; imag = i;int operator int() return (int)real;void Display(void) cout ( real , imag ) endl;protected:double real;double imag;class CVectorpublic:CVector(CComplex &obj1, CComplex &obj2, CComplex &obj3, CComplex &obj4) objArray0 = obj1; objArra
3、y1 = obj2; objArray2 = obj3; objArray3 = obj4;friend CComplex &operator(CVector obj, int n);private:CComplex objArray4;CComplex &operator(CVector obj, int n)if(n3) coutOut of range!endl; exit(0);return obj.objArrayn;void main()CComplex c1(1.1, 1.1);CComplex c2(2.2, 2.2);CComplex c3(3.3, 3.3);CComple
4、x c4(4.4, 4.4);CVector v(c1,c2,c3,c4);v0.Display();v1.Display();v2.Display();v3.Display();v0 = 5.5; /-v1 = CComplex(6.6); /-v2 = int(CComplex(7.7); /-v3 = int(CComplex(8.8,9.9); /-v0.Display();v1.Display();v2.Display();v3.Display();问题一:上述程序存在两大错误,在不修改主函数和程序原意的前提下,改正该程序中存在的错误。问题二:处的转换属于显式转换还是隐式转换,并解释
5、该转换过程。问题三:处的转换属于显式转换还是隐式转换,并解释该转换过程。问题四:解释处的转换过程。问题五:解释处的转换过程。2.2练习(二):1编写一个程序计算三角形、正方形和圆形的面积,要求抽象出一个基类base,在其中说明一个虚函数,用来求面积,并利用单接口,多实现版本设计各图形面积的方法。四、实验过程练习1题目提供源代码如下:尝试运行:非常多的错误,分析上代码,有两处错误第一处:类型转换成员函数功能是把类名所制定的类类型转换为operator后的类型名指定类型前面不应该加int,删除第二处:下标运算符只能重载为成员函数,删去参数表中前面的形参,删除friend关键字修改之后的代码如下:尝
6、试运行:代码可以运行,下面分析四处转换方法:练习2:尝试运行结果如下:五、实验总结实验源代码:练习(一)#include #include stdlib.hclass CComplexpublic:CComplex(double r=0, double i = 0)real = r;imag = i;operator int() /类型转换成员函数功能是把类名所制定的类类型转换为operator后的类型名指定类型return (int)real;void Display(void)cout ( real , imag ) endl;protected:double real;double im
7、ag;class CVectorpublic:CVector(CComplex &obj1, CComplex &obj2, CComplex &obj3, CComplex &obj4)objArray0 = obj1;objArray1 = obj2;objArray2 = obj3;objArray3 = obj4;CComplex& operator(int n); /下标运算符只能重载为成员函数,删去参数表中前面的形参private:CComplex objArray4;CComplex& CVector:operator(int n)if(n3)coutOut of range!e
8、ndl;exit(0);return objArrayn;void main()CComplex c1(1.1, 1.1);CComplex c2(2.2, 2.2);CComplex c3(3.3, 3.3);CComplex c4(4.4, 4.4);CVector v(c1,c2,c3,c4);v0.Display();v1.Display();v2.Display();v3.Display();v0 = 5.5; /-v1 = CComplex(6.6); /-v2 = int(CComplex(7.7); /-v3 = int(CComplex(8.8,9.9); /-v0.Disp
9、lay();v1.Display();v2.Display();v3.Display();练习(二)#include class basevirtual void area()=0;class triangle:public base/请输入三角形的高:public:triangle()cout请输入三角形 的高(high):high;cout请输入三角形 的底(hemline):hemline;void area()cout三角形面积= (high*hemline)/2endlendl;private:float hemline;float high;class square:public basepublic:square()cout请输入矩形 的长(length):length;cout请输入矩形 的宽(width)width;void area()cout矩形面积= length*widthendlendl;private:float length;float width;class round:public baseprivate:float radius;public:round()cout请输入圆形 的半径(radius):radius;void
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西南宁上林县白圩镇中心卫生院招聘村卫生室公共卫生服务协助人员5人考前自测高频考点模拟试题及答案详解(网校专用)
- 班组安全培训教育
- 2025内蒙古工业大学招聘20名博士学位事业编制工作人员模拟试卷及答案详解(考点梳理)
- 2025北京大兴区妇幼保健院临时辅助用工招录岗位12人模拟试卷及答案详解(有一套)
- 2025广东省高校毕业生三支一扶计划招募3000人模拟试卷附答案详解(典型题)
- 2025年春季中国邮政储蓄银行合肥市分行校园招聘模拟试卷(含答案详解)
- 2025辽宁沈阳地铁集团有限公司所属公司拟聘用人员考前自测高频考点模拟试题有完整答案详解
- 非晶硅薄膜制备-洞察与解读
- 2025湖南省中南林业科技大学第一批招聘21人模拟试卷(含答案详解)
- 2025年四川天府银行社会招聘模拟试卷及完整答案详解一套
- 电商行业员工行为规范与工作手册
- 借款合同中国农业银行担保借款合同3篇
- 创新方法大赛理论知识考核试题题库及答案
- 《认识几种常见的岩石》说课稿、教案和教学设计
- 黑布林英语阅读初一年级16《柳林风声》译文和答案
- 广东省监理从业人员网络继续教育平台题库
- YY/T 1268-2023环氧乙烷灭菌的产品追加和过程等效
- 平地机操作规程
- HY/T 0302-2021沸石离子筛法海水提钾工程设计规范
- GB/T 710-2008优质碳素结构钢热轧薄钢板和钢带
- GB/T 18591-2001焊接预热温度、道间温度及预热维持温度的测量指南
评论
0/150
提交评论