C++实验10运算符重载.docx
- 文档编号:3646514
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:11
- 大小:219.75KB
C++实验10运算符重载.docx
《C++实验10运算符重载.docx》由会员分享,可在线阅读,更多相关《C++实验10运算符重载.docx(11页珍藏版)》请在冰豆网上搜索。
C++实验10运算符重载
实验10运算符重载
1.实习目的及要求
1)掌握运算符重载的基本概念和方法;
2)熟习几种特殊的运算符的重载
2.预习
预习运算符重载的概念、运算符重载的一般方法,包括成员函数重载和友元函数重载;以及几种特殊的运算符,包括++和--运算符、赋值运算符、数组下标运算符、函数调用运算符以及new和delete的重载等相关知识。
定义
对已有的运算符赋予多重含义,是同一运算符作用于不同类型的数据时导致不同的行为
重载规则
只能重载C++已有的运算符,不能重载(5个):
“、”,“.*”,“:
:
”,“sizeof”,“?
:
”
不改变原运算符的优先级和结合性
与原功能类似,不改变原操作对象个数,至少有一个操作对象是自定义类型。
优点
可以改变现有运算符的操作方式,以用于类类型
运算符重载为成员函数
运算符重载为友元函数
语法
函数类型operator运算符(形
参表){}
friend函数类型operator运算符(形参表){}
参数个数
参数个数比原操作数个数少一个(后置“++”,“--”除外)
参数个数与原操作数个数相同
3.实验内容
3.1分析下面的程序,指出程序运行的结果:
1)分析下面的程序,指出程序运行的结果:
类分析和对象分析:
结果预测:
此程序实现对加法的重载,两对象(坐标)的x和y数据项分别相加,即两点坐标相加得出新点,所以结果预测为:
30,30
2)分析下面的程序,指出程序运行的结果:
类和对象分析:
结果预测:
重载加法,使“+”适用于具体日期的计算,2001年(平年)2月10日(平年2月是28天)的20天后是2001年3月2日,所以结果预测为:
3/2/2001
3.2编写并调试程序:
1)定义一个描述平面上一个点的类point,重载“++”和“--”运算符,并区分这两种运算符的前置和后置操作,构成一个完整的程序。
1)对象分析:
只有一类对象:
点
2)类的分析和设计:
一个描述平面上一个点的类point,重载“++”和“--”运算符操作设计:
a)类声明和类实现:
Main部分实现:
程序结果:
2)构造一个分数类rationalNumber,该类中包括分子和分母两个成员数据,并具有下述功能:
(1)建立构造函数,它能防止分母为零,当分数不是最简形式时进行约分,并避免分母为负数。
(2)重载加法、减法、乘法以及除法运算符。
(3)重载关系运算符:
>、<、==等。
◆对象分析:
只有一类对象:
分数
◆类的分析和设计:
分数类rationalNumber,该类中包括分子和分母两个成员数据,具有构造函数,重载运算符等功能
◆操作设计:
类声明和类实现:
Main部分实现:
程序结果:
*4课后练习
调试下面的程序,指出程序实现的功能及程序输出结果,掌握对象数组、进一步理解类是如何实现。
1)调试程序1
具体分析如分析题1,本程序实现的功能是两点坐标的加法。
2)调试程序2
具体分析见分析题2,实现的功能是具体日期的加法。
3)调试程序3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 实验 10 运算 重载
![提示](https://static.bdocx.com/images/bang_tan.gif)