网站大量收购独家精品文档,联系QQ:2885784924

实验报告3—运符重载.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验报告3—运符重载

实 验(实训)报 告 项 目 名 称 实验三 运算符重载 所属课程名称 面向对象程序设计 项 目 类 型 验证性 实验(实训)日期 2012.4.13/4.20 班 级 学 号 姓 名 指导教师 刘亚楠 浙江财经学院教务处制 一、实验(实训)概述: 【目的及要求】 1. 进一步了解运算符重载的概念和使用方法。 2. 掌握几种常用的运算符重载的方法。 3. 了解在Visual C++6.0环境下进行运算符重载要注意的问题。 【基本原理】 见谭浩强教材和课件第10章内容 【实施环境】(使用的材料、设备、软件) Visual C++ 6.0 注意:所有回答内容用蓝色字体标明! 二、实验(实训)内容: 第1题. 填空 【项目内容】 在下面的空白处填写正确答案。 1.假设a和b是两个整型变量,我们用a+b的形式求这两个变量的和:假设c和d为浮点型变量,我们用c+d的形式求这两个变量的和。显然,运算符+具有不同的用途,这是_______的例子。 2. 关键字_________引入了重载运算符函数的定义。 3. 要对类对象使用运算符,除了运算符_______和________以外,其它的都必须重载。 4. 重载不能改变运算符的优先级、操作数的个数和_____________。 5. C++中不能重载的运算符有___、___、___、___和___。 第2题 课后习题1 【项目内容】 定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。将运算符函数重载为非成员、非友元的普通函数。编写程序,求两个复数之和。 【方案设计】 请在此填写完整的程序代码。 回答: 【实验(实训)过程】(步骤、记录、数据、程序等) 提示:请如实记录你在实验过程中出现的错误(如发现错误无法解决,请举手) ,对程序的错误进行修改并记录。结论(结果)回答:提示:请如实记录你在实验过程中出现的错误(如发现错误无法解决,请举手) ,对程序的错误进行修改并记录。结论(结果)回答:提示:请如实记录你在实验过程中出现的错误(如发现错误无法解决,请举手) ,对程序的错误进行修改并记录。结论(结果)回答:using namespace std; class Date { private: unsigned year,month,day; public: Date(unsigned y=2010,unsigned m=1, unsigned d=1): year(y),month(m),day(d){ } void DisplayDate()   { coutDate is day/month/yearendl; } Date operator++ (int); //对当前对象加1天 Date operator+ (int d); //对当前对象加d天 }; //类定义文件Date.cpp #include iostream #include “Date.h using namespace std; Date Date::operator++(int){ int y=year,m=month,d=day;day++; switch(month){ case 1:case 3:case 5:case 7:case 8:case 10: day=(day31)?(month++,1):day; break; case 4:case 6:case 9:case 11: day=(day30)?(month++,1):day; break; case 2: if (year%4==0year%100!=0||year%400==0) day=(day29)?(month++,1):day; //是闰年 else day=(day28)?(month++,1):day; break; case 12: day=(day31)?(year++,month=1,1):day; break; } //end of switch Date temp(y,m,d); return temp; //返回计算前结果对象(值) } Date Date::operator+(unsigned d){ d+=day; int flag, y=year,m=month; do { fl

文档评论(0)

gix469 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档