版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、内蒙古科技大学信息工程学院计算机系面向对象程序设计实验报告姓名学号实验成绩班级实验日期第 16 周(星期 二 ) 6 月 11 日第 节项目号、实验名称实验11 多态(二)实验要求(任课教师提供)一、实验目的1理解掌握运算符、()的重载;2理解类型转换,掌握类型转换函数的设计和使用;3理解和掌握虚函数的作用;4掌握利用虚函数实现C+的运行时多态性;5理解纯虚类和抽象类。二、实验内容 2.1练习(一):1理解下面的程序,并在VC+6.0下运行查看结果,回答程序后面的问题。#include #include stdlib.hclass CComplexpublic:CComplex(double
2、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;objArray1 = obj2;objArray2 = obj3;objArra
3、y3 = 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);CComplex c4(4.4, 4.4);CVector v(c1,c2,c3,c4);
4、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,在其中说明一个虚函数,用来求面积,并利用单接口,多实现版本设计各图形面积的方法。实验内容(由学生填写)#include#includeusingnamespacestd;classCComplexpublic:CComplex(doubler=0,doublei=0)real=r;imag=i;/*int*/operatorint()/类型转换成员函数功能是把类名所制定的类类型转换为operator后的类型名指定类型return(int)real;voidDisp
6、lay(void)cout(real,imag)endl;protected:doublereal;doubleimag;classCVectorpublic:CVector(CComplex&obj1,CComplex&obj2,CComplex&obj3,CComplex&obj4)objArray0=obj1;objArray1=obj2;objArray2=obj3;objArray3=obj4;CComplex&operator(intn);/下标运算符只能重载为成员函数,删去参数表中前面的形参private:CComplexobjArray4;CComplex&CVector:op
7、erator(intn)if(n3)coutOutofrange!endl;exit(0);returnobjArrayn;intmain()CComplexc1(1.1,1.1);CComplexc2(2.2,2.2);CComplexc3(3.3,3.3);CComplexc4(4.4,4.4);CVectorv(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)
8、;/-v0.Display();v1.Display();v2.Display();v3.Display();return0;/问题一:上述程序存在两大错误,在不修改主函数和程序原意的前提下,改正该程序中存在的错误。/问题二:处的转换属于显式转换还是隐式转换,并解释该转换过程。/隐式转换,隐式调用了带默认参数的构造函数/问题三:处的转换属于显式转换还是隐式转换,并解释该转换过程。/显示转换,CComplex类对象c2调用构造函数进行转换,把6.6转换为一个临时对象,在复制给v1/问题四:解释处的转换过程。/首先把整形数字7.7显示调用带默认的构造函数,转换为一个临时对象,然后临时对象调用了类型
9、转换函数/转换为整型int类型,7.7小数点后的数字被省略,然后转换之后的整型再隐含调用构造函数,转换为临时对/象,复制给v2/问题五:解释处的转换过程。/同问题四,类型转换返回值只有real,后面9.9被省略2.2#includeusingnamespacestd;classbasevirtualvoidarea()=0;virtualvoidsetdata()=0;classsanjiaoxing:publicbasepublic:sanjiaoxing()voidsetdata()cout请输入三角形的高:high;cout请输入三角形的底:di;voidarea()cout三角形的面积
10、=(high*di)/2endl;private:doublehigh;doubledi;classzhengfangxing:publicbaseprivate:doublea;public:zhengfangxing()voidsetdata()cout请输入正方形的边长:a;voidarea()cout正方形面积=a*aendl;classyuan:publicbaseprivate:doubler;public:yuan()voidsetdata()cout请输入圆形的半径:r;voidarea()cout圆形的面积=3.14159*r*rendl;intmain()sanjiaoxingss;ss.setdata();ss.area();zhengfangxingzz;zz.setdata();zz.area();yuanyy;yy.setdata();yy.area();return0;实验总结(由学生填写)1理解掌握运算符、()的重载;2理解类型转换,掌握类型转换函数的设计和使用;3理解和掌握虚函数的作用;4掌握利用虚函数实现C+的运行时多态性;5理解纯虚类和抽象类。说明:1、每个实验项
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年重庆市特种设备安全管理A证考试题库(含答案)
- 国家开放大学(电大)学前教育原理形考作业答案
- 国开(中央电大)法学本科《商法》期末考试试题及答案
- 汽车4S店售后主管年度规划
- 《电路向量法》课件
- 汽车覆盖件模具基础知识(奇瑞)及其冲压数型分析
- 2026年留置辅警考试题库(含答案)
- 机械能变化的判断方法
- 2026年内蒙古中小学教师招聘考试考试题库(含答案)
- 2026年胸腔外科复模拟试题目及答案详解
- 7.2《践行平等》教学设计-统编版道德与法治八年级上册
- 停送煤气安全操作规程培训
- 2026医药领域创新药物研究突破行业市场发展趋势深度研究报告
- 2026年银川市法院书记员招聘考试真题及答案
- 弱电机柜线路规整标识补做方案
- 胎盘早剥教学课件
- 2025年度旅游业安全生产费用使用计划
- 正规的个人借款协议范本
- HG∕T 4766-2014 真空镀膜涂料
- 履带吊安拆T及T履带式起重机安拆施工工艺
- 安捷伦7890A气相色谱仪操作规程
评论
0/150
提交评论