实验7多态性.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验7多态性

实验7 多态性 专业:计算机科学与技术班级:10计本1班学号: 姓名: 实验地点:B102实验时间:2011/11/29 指导教师: 李佐勇 一、实验目的 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、includeiostream using namespace std; class point{ public: point(int xx=0,int yy=0,int zz=0):x(xx),y(yy),z(zz){} int getx() {return x;} int gety() {return y;} int getz() {return z;} point operator+(point p1); point operator--(); bool operator==(point p1)const; friend point operator--(pointp1,int); friend void operator+=(pointp1,pointp2); friend ostream operator(ostream out,const point p){ out(p.x,p.y,p.z); return out; } friend istream operator(istream in,point p){ inp.xp.yp.z; return in; } private: int x,y,z; }; point point::operator+(point p1) {return point(x+p1.x,y+p1.y,z+p1.z);} point point::operator--(){ x--; y--; z--; return *this; } bool point::operator==(point p1)const{ if(x==p1.xy==p1.yz==p1.z) return true; else return false; } point operator--(pointp,int){ point temp=p; --p; return temp; } void operator+=(point p1,point p2){ p1.x=p1.x+p2.x; p1.y=p1.y+p2.y; p1.z=p1.z+p2.z; } int main(){ point p1(4,5,6),p2(2,3,4),p3; coutp1=p1endl; coutp2=p2endl; p3=p1+p2; coutp1+p2=p3endl; p3=--p2; coutp2=p2endl; coutp3=p3endl; coutp2==p3?: ; if(p2==p3) coutYesendl; else coutNoendl; p3=p2--; coutp2=p2endl; coutp3=p3endl; p3+=p2; coutp2=p2endl; coutp3=p3endl; return 0; } 2、#includeiostream #define pi 3.1415 using namespace std; class point{ public: point(int xx=0,int yy=0):x(xx),y(yy){} int getX() {return x;} int getY() {r

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档