已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验7 多态性专业:计算机科学与技术班级: 12嵌入 学号:3121101232 姓名: 林珍妮 实验地点: 工A208 实验时间: 2013-11-27 指导教师:李佐勇一、实验目的1掌握用函数成员实现运算符重载的方法;2掌握用友元函数实现运算符重载的方法;3掌握纯虚函数的概念及应用。二、实验环境一台PC机,Windows XP操作系统,Visual C+ 6.0开发环境。三、实验内容1、三维坐标类对象之间的直接运算。三维坐标类有数据成员x、y、z,对象间运算时要求通过函数成员实现“+”、前置“-”、“= =”运算符的重载,通过友元函数实现后置“-”、“+”、“”和“”运算符的重载,实现三维坐标类对象间的直接运算。main()完成对象的定义和有关运算符重载函数的测试。2、由二维坐标点类(含有带默认形参值的构造函数、getX、getY、show函数)作为基类派生出圆类(含有带默认形参值的构造函数、getR、getarea、show函数);再由圆类作为基类派生出圆柱体类(含有带默认形参值的构造函数、getH、getV、show函数);考虑将show作为虚函数。3、将实验内容2改为通过纯虚函数show完成数据成员的输出。四、实验记录1、#includeusing namespace std;class Pointpublic:Point(int xx=0,int yy=0,int zz=0):x(xx),y(yy),z(zz)Point operator+(const Point &p)constreturn Point(x+p.x,y+p.y,z+p.z);Point operator-()-x;-y;-z;return *this;bool operator=(const Point &p1)if(x=p1.x&y=p1.y&z=p1.z)return true;return false;friend Point operator-(Point p,int)return Point(-p.x,-p.y,-p.z);friend void operator+=( Point &p1, Point &p2)p1.x+=p2.x;p1.y+=p2.y;p1.z+=p2.z;friend ostream & operator(ostream &out,const Point &p)out(p.x,p.y,p.z(istream &in,const Point &p)inp.xp.yp.z;return in;private:int x,y,z;int main()Point p1(5,3,2);Point p2(1,5,4);Point p3;coutp1: p1endl;coutp2: p2endl;p3=p1+p2;coutp3=p1+p2: p3endl;-p1;cout-p1: p1endl;if(p1=p2)coutYESendl;else coutNOendl;p1+=p2;coutp1+=p2: p1endl;return 0;运行结果:2、#include#define PI 3.1415using namespace std;class Pointpublic:Point(int xx=0,int yy=0):x(xx),y(yy)int GetX()return x;int GetY()return y;virtual void show()cout(x,y)endl;private:int x,y;class Circle:public Pointpublic:Circle(int xx,int yy,int r):Point(xx,yy),radius(r)int GetR() return radius;float Getarea()float area;area=static_cast(2*PI*radius);return area;void show()coutendl;cout圆心坐标: ;Point:show();cout圆的半径: radiusendl;cout圆的面积: Getarea()endl;private:int radius;class Cylinder:public Circlepublic:Cylinder(int xx,int yy,int r,int h):Circle(xx,yy,r),height(h)int GetH() return height;int GetV() float v;v=static_cast(Circle:Getarea()*height);return v;void show()coutendl;Circle:show();cout圆柱体的高度: heightendl;cout圆柱体的体积: GetV()show();Circle c(0,0,6);pp=&c;pp-show();Cylinder v(0,0,8,9);pp=&v;pp-show();return 0;运行结果:3、#include#define PI 3.1415using namespace std;class Pointpublic:Point(int xx=0,int yy=0):x(xx),y(yy)int GetX()return x;int GetY()return y;virtual void show()=0;private:int x,y;class Circle:public Pointpublic:Circle(int xx=0,int yy=0,int r=0):Point(xx,yy),radius(r)int GetR() return radius;float Getarea()float area;area=static_cast(2*PI*radius);return area;void show()cout圆心坐标: (GetX(),GetY()endl;cout圆的半径: radiusendl;cout圆的面积: Getarea()endl;private:int radius;class Cylinder:public Circlepublic:Cylinder(int xx=0,int yy=0,int r=3,int h=6):Circle(xx,yy,r),height(h)int GetH() return height;int GetV() float v;v=static_cast(Circle:Getarea()*height);return v;void show()coutendl;Circle:show();cout圆柱体的高度: heightendl;cout圆柱体的体积: GetV()show();Cylinder v(0,0,8,9);pp=&v;pp-show();return 0;运行结果:五
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年铜梁县辅警协警招聘考试真题(含答案详解)
- 2025年红河州辅警协警招聘考试备考题库及一套答案详解
- 2025年赣州辅警招聘考试真题及答案详解(网校专用)
- 2025年甘孜藏族自治州辅警协警招聘考试真题及答案详解参考
- 2025年潮州辅警协警招聘考试备考题库附答案详解ab卷
- 2025年阜新辅警协警招聘考试真题及答案详解参考
- 2025年黄山辅警招聘考试真题含答案详解(基础题)
- 2025年益阳辅警招聘考试真题附答案详解(培优)
- 2025年荣昌县辅警协警招聘考试备考题库附答案详解(基础题)
- 2025年钦州辅警招聘考试题库及答案详解一套
- 2024秋新北师大版数学七年级上册教学课件 5.2 第1课时 等式的基本性质
- 2025年入团的考试试题及答案
- ISO 37001-2025 反贿赂管理体系要求及使用指南(中文版-雷泽佳译-2025)
- 医疗废物的管理和分类
- 2025大连机场招聘109人高频重点提升(共500题)附带答案详解
- 《自身免疫性脑炎》课件
- 【MOOC】大学生心理健康-厦门大学 中国大学慕课MOOC答案
- 2025年高考英语外刊时文阅读训练专题25褪黑素在REM睡眠中的作用(学生版+解析)
- 快递突发事件应急预案(3篇)
- 光明乳业供应链管理
- 国开(河北)2024年秋《现代产权法律制度专题》形考作业1-4答案
评论
0/150
提交评论