




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
贵州大学实验报告学院:电子信息学院 专业:通信工程 班级:姓名学号实验组5实验时间指导教师成绩实验项目名称多态性实验目的通过让学生进行实验,使其对于动态多态性有一个较为深入的了解和熟悉。最终可以熟练使用。实验要求1 编写4个重载函数Double(x),返回值为输入参数的两倍;参数类型分别为int、long、float、double,返回值类型与参数类型一样。2 请编写一个抽象类Shape,在此基础上派生出类Rectangle和Circle,二者都有计算对象面积的函数GetArea()和计算周长函数GetPerim()。3 对类Point重载+(自增)、-(自减)运算符。实验原理Visual C+的编译环境下,独立完成实验要求的内容,独立完成编写、编译以及运行的过程实验仪器安装了Visual C+的PC机器实验步骤按照实验要求的内容逐一完成实验的要求。顺序是编写、编译、运行。实验内容1. 编写4个重载函数Double(x),返回值为输入参数的两倍;参数类型分别为int、long、float、double,返回值类型与参数类型一样。2.请编写一个抽象类Shape,在此基础上派生出类Rectangle和Circle,二者都有计算对象面积的函数GetArea()和计算周长函数GetPerim()。3.对类Point重载+(自增)、-(自减)运算符。实验数据1、 代码如下:#includeusing namespace std;int Double(int x);long Double(long x);float Double(float x);double Double(double x);int main() int myInt = 6500; coutDouble(myInt)endl; long myLong = 65000; coutDouble(myLong)endl; float myFloat = 6.5F; coutDouble(myFloat)endl; double myDouble = 6.5e20; coutDouble(myDouble)endl;int Double(int x) return 2*x;long Double(long x) return 2*x;float Double(float x) return 2*x;double Double(double x) return 2*x;运行结果:2、 代码:#include#define PI 3.1415926;using namespace std;class Shape /抽象类的 定义public: virtual double GetArea() = 0; /纯虚函数 virtual double GetPerim() = 0; /纯虚函数;class Rectangle : public Shape /矩形类,公有继承public: Rectangle(double aa, double bb) /带参数的 构造函数 a=aa; b=bb; cout长a宽bendl; virtual double GetArea() return a * b; virtual double GetPerim() return 2*( a + b ); private: double a; double b;class Circle : public Shape /圆类,公有继承 public: Circle(double rr) /带参数的 构造函数 r=rr; cout半径rendl; virtual double GetArea() return r * r * PI; virtual double GetPerim() return 2 * r * PI; private: double r; void main() double length, width; cout length width; Rectangle rect(length, width); cout 面积是: rect.GetArea() endl周长是:rect.GetPerim()endl; double rr; cout rr; Circle cir(rr); cout 面积是:cir.GetArea() endl周长是:cir.GetPerim()endl; 运行结果:3、 代码如下: #includeclass Pointpublic:Point(int xx,int yy):x(xx),y(yy) void display()const;Point &operator+(); Point operator+(int);Point &operator-();Point operator-(int);private: int x,y;void Point:display()const cout当前Point(x,y)endl;Point &Point:operator+() x+;y+;cout执行x+,y+操作!endl;return *this;Point Point:operator+(int)cout执行+x,+y操作!endl;return Point(+x,+y);Point &Point:operator-()x-;y-;cout执行x-,y-操作!endl;return *this;Point Point:operator-(int)cout执行-x,-y操作!endl;return Point(-x,-y);int main()int x,y;coutxy;Point point1(x,y);point1.display();point1+;point1.display();+point1;point1.display();point1-;point1.display();-point1;point1.display();return 0;运行结果:实验总结学习使用虚函数实现动态多态性。而虚函数就是在基类中被关键字virtual说明,并在派生类中重新定义的函数,且在派生类中重工业新定义时,函数原型,包括返回类型、函数名、参数个数与参数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 坚果文化展览馆创新创业项目商业计划书
- 无尘牛奶加工车间创新创业项目商业计划书
- 2025-2030高原地区锂电容混合储能管理系统氧含量自适应调节技术报告
- 2025-2030飞机刹车制动系统技术路线比较与市场份额调研报告
- 2025-2030风电叶片回收利用技术突破与产业链投资分析
- 2025-2030青年公寓行业消费信贷与金融产品创新分析
- 2025-2030青年公寓智能安防系统配置标准与实施报告
- 2025-2030防晒产品技术创新与季节性营销策略报告
- 2025-2030钢铁行业超低排放改造中除尘技术应用专项研究
- 2025-2030钙钛矿光伏组件衰减机理研究与电站全生命周期运维成本预测模型
- JT-T-795-2011事故汽车修复技术规范
- GB/T 43731-2024生物样本库中生物样本处理方法的确认和验证通用要求
- 食品行业的食品创新与新产品开发
- 物业客户投诉处理及技巧培训课件
- 华中师范大学2016年841物理化学考研真题
- 岩棉复合板外墙保温的施工工艺
- JJF 1334-2012混凝土裂缝宽度及深度测量仪校准规范
- GB/T 4025-2010人机界面标志标识的基本和安全规则指示器和操作器件的编码规则
- 大学学生转学(转入)申请表
- 角膜 角膜炎课件
- DL∕T 5440-2020 重覆冰架空输电线路设计技术规程
评论
0/150
提交评论