- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 2025年湖南省长沙市中考物理试卷及答案解析 .pdf VIP
- 《给水排水设施施工及验收手册》GB50268-2023.pdf VIP
- 2024年“民用无人机及多旋翼无人机”驾驶员操控员技能与理论知识考试题库含答案.docx
- 2025年湖南省长沙市中考英语试卷及答案解析 .pdf VIP
- 第十五届全国交通运输行业“极智杯”公路收费及监控员职业技能大赛理论题库.pdf VIP
- word格式电子版个人简历模板.docx
- 重难点专题39 齐次化妙解圆锥曲线九大题型汇总(解析版).docx VIP
- 数学建模论文(副标题:摩天轮高度与时间的关系).doc
- 徐州市中医院 中医推拿保健 颈椎病诊断与治疗-人体解剖.pptx VIP
- 水肥一体化灌溉系统应用技术规程.pdf VIP
文档评论(0)