运算符重载实验.doc_第1页
运算符重载实验.doc_第2页
运算符重载实验.doc_第3页
运算符重载实验.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

237实验:运算符重载运算符重载的应用【实验目的】1、 理解重载运算符的意义。2、 掌握用成员函数、友元函数重载运算符的特点。3、 掌握重载运算符函数的调用方法。【实验内容】1.定义一个复数类,通过重载运算符: *,/,直接实现二个复数之间的乘除运算。编写一个完整的程序,测试重载运算符的正确性。要求乘法“*”用友元函数实现重载,除法“/”用成员函数实现重载。分析两复数相乘的计算公式为:(a+b i)*(c+d i)=(acbd )+(ad+bc) i两复数相除的计算公式为:(a+b i)/(c+d i)=(ac+bd)/(c*c+d*d)+(bc-ad)/(c*c+d*d) i复数类及运算符重载函数可定义为: 2.根据下面描述定义完整的日期类:class Date/成员变量void IneDay();/日期增加1天int DayCalc()const;/距基准日期的天数static const int day;/每月的天数public: Date(int y,int m,int d); Date(int m, int d); Date();void SystmDate();/读取系统当前时间void SetDate(int yy,int mm,int dd);/设置日期void SetDate(int mm,int dd);bool IsLeapYear(int yy) const;/是否闰年bool IsEndofMonth()const ;/是否月末/重载cout完成读入和输出日期工作/重载 +,+=,-,-=,+,-,等运算符,完成日期的运算符操作。/成员函数:判读一个日期是否是系统的当前日期/实现从键盘读入你的生日,如果是则显示:生日快乐,否则先生还有多少天到生日,或你的生日已经过了多少天,明年生日要再等多少天。l 选作,实现:在文件中读入事先写入的亲朋好友的纪念日,系统到时自动提醒。本题提示:读取系统时间:#include #include using namespace std;tm *gm;time_t t=time(NULL);gm=gmtime(&t);int year=1900+gm-tm_year;int month=gm-tm_mon+1;int day=gm-tm_mday;3.定义一个向量(一维数组)类,通过重载运算符实现向量之间的加法和减法。加法用成员函数重载,减法用友元函数重载。说明向量用两个量来描述,一个是指向向量的指针,另一个指明向量的元素个数。只有同元素个数的向量才能实现加法和减法。把加法、减法定义为相应元素相加或相减。向量类可定义为:class Vectfloat *p;int n; .;要求增加构造函数、成员函数等,构成完整的程序,并对程序的正确性进行测试。4为数组类重载下标运算符“”、“+”加运算符和“=”赋值运算符。并编写测试程序。5 定义一个有理数类,重载比较运算符.写一个完整的程序,进行数据成员的设置和输出.class rationalprivate: long denom,den;/denom为分子,den为分母public:rational(int num=0, int denom=1;int operator(rational r) const;int operator=(rational r) const;int operator= =(rational r) const;int operator!=(rational r) const;/这里增加赋值和读出函数6 完成一个类,用来描述时间段,包括小时和分钟,重载各种运算符,完成时间段的加减以及赋值。7 实数矩阵类按已给出的函数原型为Matrix类重载 +,-,* 运算符,以完成正确的矩阵加法,减法,乘法计算,并编写main()函数,用给定的数据进行测试.#includeclass Matrixdouble *ptr;int row,col;public:Matrix(int r,int c)row=r; col=c;ptr=new doublerow*col;double operator()(int i, int j) return ptri*col+j;void set(int i, int j, double value) ptri*col+j=value;void print() for(int i=0;i for(int j=0;j cout(*this)(i,j) ;cout Matrix operator+(Matrix m);Matrix operator-(Matrix m);Matrix o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论