ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:19.55KB ,
资源ID:2769255      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2769255.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(高等程序设计实验报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

高等程序设计实验报告.docx

1、高等程序设计实验报告高等程序设计实验报告实验名称实验12 运算符重载(2)系 别姓 名学 号班 级实验时间实验地点实验成绩一、 实验目的及要求进一步理解运算符重载,运用成员函数和友元函数等方法实现运算符的重载。二、 实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等)硬件设备:联网的个人计算机操作系统:Windows xp编译系统:Dev C+三、 实验内容及步骤(包含简要的实验步骤流程)1、重载函数调用运算符(),将以下的二维数组的下标表示方法:chessBoardrowcolumn改为常用的表示方法:chessBoard(row,column)2、重载下标运算符使之返回集合中最大

2、的元素、次最大的元素以及第三大的元素。3、开发多项式类Polynomial,多项式的每一项用数组表示,每项包含一个系数和一个指数。例如:2x4的指数为4,系数为2。请开发一个完整的Polynomial类,包括构造函数、析构函数以及get函数和set函数。该类还要提供下述重载的运算符(分别使用成员函数和友元函数):1)重载加法运算符+,将两个多项式相加;2)重载减法运算符-,将两个多项式相减;3)重载赋值运算符=,将一个多项式赋给另外一个多项式;4)重载乘法算符*,将两个多项式相乘;5)重载加法赋值运算符+=、减法赋值运算符-=以及乘法赋值运算符*=。4设计一个日期类Date,,要求:(1)包含

3、年(year)、月(month)和日(day)私有数据成员。(2)包含构造函数,重载关于一日期加上天数的加法运算符+、重载关于一日期减去天数的减加运算符-、重载输出运算符等。提示:由于各C+编译器对于重载输入/出运算符为友元的兼容性都存在问题,最好重载输入/出运算符不声明为成员函数与友元函数,而声明一般函数,为编程更方便,可增加一些成员函数,比如:void SetYear(int y); / 设置年 int SetMonth(int m); / 设置月 int SetDay(int d); / 设置日int GetYear() const; / 返回年 int GetMonth() const

4、; / 返回月 int GetDay() const; / 返回日static int IsLeapyear(int y); / 判断年份y是否为润年static int GetDays(int y); / 年份y的天数static int GetDays(const Date &d); / 日期d当前月份的天数static int DateToNum(const Date &d); / 返回从公元1年1月1日起的天数static Date NumToDate(int n); /由从公元1年1月1日起的天数返回日期润年条件:年份能被4整除,并且年份不能被100整除,或者年份能被400整除润年天

5、数:366平年天数:365润年2月份天数:29平年2月份天数:285设计一个时间类Time,要求:(1)包含时(hour)、分(minute)和秒(second)私有数据成员。(2)包含构造函数,重载关于一时间加上另一时间的加法运算符+、重载关于一时间减去另一时间的减加运算符-、重载输出运算符等。提示:可仿照第4题编程实现,可将时间转换成秒数,将秒数转成时间进行辅助编程。时间转换成秒数:秒数 = 时 * 3600 + 分 * 60 + 秒秒数转换成时间:时 = 秒数 / 3600分 = (秒数 - 时 * 3600) / 60秒 = 秒数 % 60为编程更方便,可增加一些成员函数,比如:voi

6、d SetHour(int hh); / 设置小时 void SetMinute(int mm); / 设置分钟 void SetSecond(int ss); / 设置秒 int GetHour() const; / 返回小时 int GetMinute() const; / 返回分钟 int GetSecond() const; / 返回秒4、实验结果(包括程序或图表、结论陈述、数据记录及分析等,可附页)1、重载函数调用运算符(),将以下的二维数组的下标表示方法:chessBoardrowcolumn改为常用的表示方法:chessBoard(row,column)代码实现:#include

7、#include using namespace std;class shuzu int chessBoard88;public: shuzu() for (int i=0;i8;i+) for(int j=0;j8;j+) chessBoardij=i+j; int operator()(int a,int b)return chessBoardab;int main() shuzu a; cout输出(6,7)=a(6,7)endl; cout矩阵:endl; for(int i=0;i8;i+) for(int j=0;j8;j+) couta(i,j)t; coutendl; getc

8、h(); return 0;结果截图:2、重载下标运算符使之返回集合中最大的元素、次最大的元素以及第三大的元素。3、开发多项式类Polynomial,多项式的每一项用数组表示,每项包含一个系数和一个指数。例如:2x4的指数为4,系数为2。请开发一个完整的Polynomial类,包括构造函数、析构函数以及get函数和set函数。该类还要提供下述重载的运算符(分别使用成员函数和友元函数):1)重载加法运算符+,将两个多项式相加;2)重载减法运算符-,将两个多项式相减;3)重载赋值运算符=,将一个多项式赋给另外一个多项式;4)重载乘法算符*,将两个多项式相乘;5)重载加法赋值运算符+=、减法赋值运算

9、符-=以及乘法赋值运算符*=。代码实现:#include#includeusing namespace std;class Jprivate: int a5;public: J(int s) for(int i=0;i5;i+) ai=si; void paixu() for(int i=0;i4;i+) for(int j=0;jaj+1) int temp=aj; aj=aj+1; aj+1=temp; int operator(int b) return ab; ;int main() int s5; cout请输入5个数:endl; for(int i=0;isi; J j(s); j

10、.paixu(); cout最大的元素、次最大的元素以及第三大的元素依次为:j4,j3,j2endl; getch(); return 0;结果截图:4设计一个日期类Date,,要求:(1)包含年(year)、月(month)和日(day)私有数据成员。(2)包含构造函数,重载关于一日期加上天数的加法运算符+、重载关于一日期减去天数的减加运算符-、重载输出运算符等。提示:由于各C+编译器对于重载输入/出运算符为友元的兼容性都存在问题,最好重载输入/出运算符不声明为成员函数与友元函数,而声明一般函数,为编程更方便,可增加一些成员函数,比如:void SetYear(int y); / 设置年 i

11、nt SetMonth(int m); / 设置月 int SetDay(int d); / 设置日int GetYear() const; / 返回年 int GetMonth() const; / 返回月 int GetDay() const; / 返回日static int IsLeapyear(int y); / 判断年份y是否为润年static int GetDays(int y); / 年份y的天数static int GetDays(const Date &d); / 日期d当前月份的天数static int DateToNum(const Date &d); / 返回从公元1年

12、1月1日起的天数static Date NumToDate(int n); /由从公元1年1月1日起的天数返回日期润年条件:年份能被4整除,并且年份不能被100整除,或者年份能被400整除润年天数:366平年天数:365润年2月份天数:29平年2月份天数:28(1)程序实现#includeiostream.h#includeclass Datepublic: Date(int a=0,int b=0,int c=0); void Set_Date(int a,int b,int c); void Get_Date(); Date operator+(int); Date operator-(i

13、nt); friend ostream& operator(istream&, Date&);private: int year,mounth,date,m;Date:Date(int a,int b,int c) year=a; mounth=b; date=c; m=1;void Date:Set_Date(int a,int b,int c) year=a; mounth=b; date=c;void Date:Get_Date() if(m=1) coutyear年mounth月date日endl; else cout刚才输入的天数不符合要求!28) m=0; return *this; else if(year%400=0)|(year%4=0)&(year%100!=0) if(mounth=4)|(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1