版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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人笔试考试参考试题及答案解析
- 《JBT10330.2-2004 高速电火花小孔加工机第 2 部分:参数》(2026年)实施指南
- 2025安徽宿州市砀山县中医医院招聘编外工作人员9人考试笔试备考试题及答案解析
- 《JBT9273-1999 电接点压力表》(2026年)实施指南
- 胸痹心痛病(急性冠脉综合征)健康教育与康复指导
- 网站管理员的实习总结
- 《JBT9162.24-1999 夹持器尺寸》(2026年)实施指南
- 2025河南郑州汽车工程职业学院招聘工作人员18人考试笔试模拟试题及答案解析
- 《JBT8774.1-1998 机床电气系统辅件扎带》(2026年)实施指南
- 2025广东茂名市化州市司法局招聘镇(街道)专职人民调解员2人考试笔试备考试题及答案解析
- DB63-T 2333-2024 锅炉节能环保使用管理规范
- 《电脑重装系统教程》课件
- 桥小脑角肿瘤的护理
- GB/T 15969.2-2024可编程序控制器第2部分:设备要求和测试
- 采购总监年终工作汇报
- 体育赛事策划与管理
- 《火灾自动报警》课件
- 《中国民间故事》整本书阅读 课件 五年级上册语文(统编版) 五年级上册语文整本书阅读 导读课件+讲义+阅读检测(统编版)
- 外研版小学英语单词表全(一年级起点)
- 2015年10月自学考试06091《薪酬管理》历年真题及答案
- 毕业论文8000字范文
评论
0/150
提交评论