


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、贵州大学实验报告学院:电子信息学院专业:通信工程班级:姓名学号实验组5实验时间指导教师成绩实验项目名称多态性实验目的通过让学生进行实验,使其对于动态多态性有一个较为深入的了解和熟悉。最终可以熟练使用。实验要求1. 编与4个重载函数Double(x),返回值为输入参数的两倍;参数类型分别为int、long、float、double,返回值类型与参数类型一样。2. 请编与一个抽象类Shape,在此基础上派生出类Rectangle和Circle,一者都有计算对象面积的函数GetArea()和计算周长函数GetPerim()。3. 对类Point重载+(自增)、-(自减)运算符。实验原理VisualC
2、+-完编译环境下,独立完成实验要求的内容,独立完成编写、编译以及运行的过程实验仪as希安装了VisualC+的PC机器实验步骤按照实验要求的内容逐一完成实验的要求。顺序是编写、编译、运行。实验内容1. 编与4个重载函数Double(x),返回值为输入参数的两倍;参数类型分别为int、long、float、double,返回值类型与参数类型一样。2. 请编与一个抽象类Shape,在此基础上派生出类Rectangle和Circle,一者都有计算对象面积的函数GetArea()和计算周长函数GetPerim()。3. 对类Point重载+(自增)、-(自减)运算符。实验数据1、代码如下:#inclu
3、de<iostream>usingnamespacestd;intDouble(intx);longDouble(longx);floatDouble(floatx);doubleDouble(doublex);intmain()intmyInt=6500;cout<<Double(myInt)<<endl;longmyLong=65000;cout<<Double(myLong)<<endl;floatmyFloat=6.5F;cout<<Double(myFloat)<<endl;doublemyDoubl
4、e=6.5e20;cout<<Double(myDouble)<<endl;intDouble(intx)return2*x;longDouble(longx)return2*x;floatDouble(floatx)return2*x;doubleDouble(doublex)return2*x;运行结果:2、代码:#include<iostream>#definePI3.1415926;usingnamespacestd;classShape抽象类的定义public:virtualdoubleGetArea()=0;纯虚函数virtualdoubleGe
5、tPerim()=0;纯虚函数;classRectangle:publicShape/矩形类,公有继承public:Rectangle(doubleaa,doublebb)带参数的构造函数a=aa;b=bb;cout<<"长"<<a<<"宽"<<b<<endl;)virtualdoubleGetArea()(returna*b;)virtualdoubleGetPerim()(return2*(a+b);)private:doublea;doubleb;);classCircle:publicS
6、hape圆类,公有继承(public:Circle(doublerr)带参数的构造函数(r=rr;cout<<"半径"<<r<<endl;)virtualdoubleGetArea()(returnr*r*PI;)virtualdoubleGetPerim()(return2*r*PI;)private:doubler;);voidmain()(doublelength,width;cout<<"输入长和宽:"cin>>length>>width;Rectanglerect(leng
7、th,width);cout<<"面积是:"<<rect.GetArea()<<endl<<"周长是:"<<rect.GetPerim()<<endl;doublerr;cout<<"输入半径:"cin>>rr;Circlecir(rr);cout<<"面积是:"<<cir.GetArea()<<endl<<"周长是:"<<cir.GetPe
8、rim()<<endl;)运行结果:3、代码如下:#include<iostream.h>classPoint(public:Point(intxx,intyy):x(xx),y(yy)voiddisplay()const;Point&operator+();Pointoperator+(int);Point&operator-();Pointoperator-(int);private:intx,y;voidPoint:display()constcout<<"当前Point("<<x<<&quo
9、t;,"<<y<<")"<<endl;Point&Point:operator+()x+;y+;cout<<"执行x+,y+操作!"<<endl;return*this;PointPoint:operator+(int)cout<<"执行+x,+y操作!"<<endl;returnPoint(+x,+y);Point&Point:operator-()x-;y-;cout<<"执行x-,y-操作!&quo
10、t;<<endl;return*this;PointPoint:operator-(int)cout<<"执行-x,-y操作!"<<endl;returnPoint(-x,-y);intmain()intx,y;cout<<"Inputx&y:"cin>>x>>y;Pointpoint1(x,y);point1.display();point1+;point1.display();+point1;point1.display();point1-;point1.display();-point1;point1.display();return0;)运行结果:实验学习使用虚函数实现动态多态性。而虚函数就是在基类中被关键字virtual说明,并在派生类中重新定义的函数,且在派生类中重工业新定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卖海鲜合同范例
- 双方出出资合同范例
- 修缮工程服务合同范例
- 单位卖车合同范例
- 加盟标准合同范例
- 人防设备安装合同范例
- 卖建屋合同范例
- 厨房和卫生间装修合同范例
- 亚克力板材合同范例
- 包装盒印刷厂合同范例
- 2025年劳务合同范本(2篇)
- 哈克贝利·费恩历险记(课堂)课件
- 小班 社会语言 懂礼貌的好宝宝 课件(互动版)
- 四川省生育登记表(样表)
- 医疗护理品管圈QCC成果汇报之提高住院病人健康宣教的知晓率(问题解决型)
- DB34-T 4243-2022 智慧医院医用耗材SPD验收规范
- 5.4直线式感应同步器解析课件
- 煤矿“双回路”供电保障专项整治实施方案
- 航空航天概论(课堂PPT)
- 科教版四年级第二学期自然教学教案
- FABE模压训练
评论
0/150
提交评论