面向对象的妥协与运算符重载

面向对象的妥协与运算符重载

ID:40648890

大小:34.50 KB

页数:5页

时间:2019-08-05

面向对象的妥协与运算符重载_第1页
面向对象的妥协与运算符重载_第2页
面向对象的妥协与运算符重载_第3页
面向对象的妥协与运算符重载_第4页
面向对象的妥协与运算符重载_第5页
资源描述:

《面向对象的妥协与运算符重载》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验四、面向对象的妥协与运算符重载一、实验目的1.掌握友元的概念、友元函数的定义与使用方法。2.掌握静态数据成员与静态成员函数的定义与使用方法。3.掌握运算符重载的规则。4.掌握几种常用的运算符重载的方法。二、实验内容1.设计并测试点类Point,其数据成员是直角坐标系的点坐标,友元函数distance用来计算两点间的距离。2.设计一个书类Book,能够保存书名、定价,所有书的本数和总价。3.阅读下面的程序,分析程序运行的结果。程序中是否存在不合理的地方?如果存在,请改正。#includeclassN

2、umber{intn;public:Number(intx):n(x){}Number&operator++(){++n;return*this;}Number&operator++(int){n++;return*this;}friendNumber&operator--(Number&o);friendNumber&operator--(Numbero,int);voiddisplay(){cout<<"ThisNumberis:"<

3、n;returno;}Number&operator--(Numbero,int){o.n--;returno;}intmain(){NumberN1(10);++++++N1;N1.display();N1++;N1.display();--N1;N1.display();N1------;N1.display();return0;}4.设计并实现一个日期类Date,要求:(1)可以建立具有指定日期(年、月、日)的Date对象,默认日期是2011.1.1。(2)可以输出一个格式为“年-月-日”的日期,其中年是四位数据,月、

4、日可以是一位也可以是两位数据。(3)可以动态地设置年、月、日。(4)可以用运算符==、!=、<和>对两个日期进行比较。(5)可以用运算符++、--、+=、-=等完成天数的加减一天或若干天的操作(6)Date类必须能够正确表达日期,不会出现类似于13月,32日一类的情况。Date类还必须处理闰年的问题,闰年包括:所有能被400整除的年份,以及能被4整除同时又不能被100整除的年份。(7)写出主函数对该类进行测试。1#include#includeclasspoint{private:do

5、ublex,y;public:point(doublea,doubleb){x=a,y=b;cout<<"("<

6、ostream>#includeusingnamespacestd;classBook{public:voidset(stringa,floatb,intd){name=a;price=b;c=d;count+=c;}voidshow(){cout<<"书名:"<

7、l<classNumber{i

8、ntn;public:Number(intx):n(x){}Number&operator++(){++n;return*this;}Number&operator++(int){n++;return*this;}friendNumber&operator--(Number&o);frie

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。