




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2020年成人高考专升本英语词汇辨析考点精练
- 2020年成人高考高起专英语完形填空模拟
- 湖南省郴州市永兴县三校联考2023-2024学年四年级上学期期中科学试题
- 2025至2030年中国补肾保健品行业市场全景分析及投资策略研究报告
- 农村留守儿童隔代教养心理健康教育和安全预防研究
- 作品采购合同范本模板模板
- 河北省尚义县第一中学等校2025届高三上学期9月入学摸底测试历史试卷(含答案)
- 高考化学二轮专项复习:非金属及其化合物(练)原卷版
- 高考历史一轮复习:源远流长的中华文化
- 广东省惠州市惠东高级中学2026届高二化学第一学期期中质量检测试题含解析
- 包材产品HACCP计划规划方案
- 健康证记录表-自动提示过期功能
- 江苏省淮安市淮阴中学2024-2025学年高三上学期10月月考试题 数学 含答案
- 医学教案艾滋病快速检测标准操作程序
- 医院培训课件:《疑难病例讨论制度》
- 2024年新高考Ⅰ卷英语作文解析与范文(上篇)
- 2024年云南省临沧市遴选公务员笔试真题及解析
- 体育项目管理课程设计
- 微课制作培训讲稿
- JGJT251-2011建筑钢结构防腐蚀技术规程
- 气雾培技术行业营销策略方案
评论
0/150
提交评论