c上机实验报告实验六.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N] 公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N] C上机实验报告实验六 实验六 实验目的 1.掌握运算符重载的方法 2.学习使用虚函数实现动态多态性 实验要求 1.定义Point类,有坐标_x,_y两个成员变量;对Point类重载“++”(自增)、“――”(自减)运算符,实现对坐标值的改变。 2.定义一个车(vehiele)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。观察虚函数的作用。 3. (选做)对实验4中的People类重载“==”运算符和“-”运算符,“==”运算符判断两个people类对象的id属性是否相等;“-”运算符实现People类对象的赋值操作。 实验内容及实验步骤 编写程序定义Point类,在类中定义整型的私有成员变量_x_y,定义成员函数Point operator++();Point operator++(int);以实现对Point类重载“++”(自增)运算符,定义成员函数Point& operator--();Point operator--(int);以实现对Point类重载“--”(自减)运算符,实现对坐标值的改变。程序名:1ab8_1.Cpp #include iostream using namespace std; class Point { public: Point(); Point(int x,int y); ~Point(){} (选做)对实验4中的People类重载“==”运算符和“-”运算符,“==”运算符判断两个people类对象的id属性是否相等;“-”运算符实现People类对象的赋值操作。 源程序: #include iostream #include string using namespace std; class Birthday{ public: Birthday(int Year,int Month,int Day); nter(); } for(t=0;t2;t++) how(); } people p3; //定义people类的对象p3 p3-p[1]; //使用重载运算符将p[1]赋给p3 cout\n第3个人员信息如下:endl; (); coutp[0],p[1]; p[0]==p[1]; //使用重载运算符-判断p[0]和p[1]的id是否相等 return 0; } 运行结果: 思考题 如何将一个运算符重载为类的成员函数 一般语法形式: 返回类型 operator 运算符(形参表) { 函数体 } 函数的参数个数比原来的曹祖数个数要少一个(后置“++”,“--”除外)。 如何将一个运算符重载为类的友元函数 一般形式: friend 返回类型 operator 运算符(形参表) { 函数体 } 运算所需的操作数都需要通过函数的形参表传递,在形参表中形参从左至右的顺序就是运算符操作数的顺序,仅在需要访问类的私有成员或保护成员时才定义为友元函数。 如何实现运行时刻的多态 通过继承和虚函数实现。 心得体会: 掌握了运算符重载的方法;运算符重载可以重载为类成员函数和非成员函数;学会了使用继承和虚函数实现运行时刻的多态;在实现动态多态时,必须使用基类类型的指针或引用,是该指针指向基类的不同派生类的对象,并通过该指针指向虚函数才能实现动态的多态性。如果未声明为虚函数,则普通的派生类的新成员函数会覆盖基类同名成员函数,将不能实现运行时刻多态性。

文档评论(0)

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

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

1亿VIP精品文档

相关文档