欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

第14课 运算符重载

  • 资源ID:181438165       资源大小:1.89MB        全文页数:12页
  • 资源格式: DOC        下载积分:10积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要10积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

第14课 运算符重载

第14课 运算符重载一、运算符重载的概念    1、概念       一符多用。通过重载,对运算符赋予新的含义。       如“+”号,通过重载(C+系统完成),既可以进行整数运算,也可以进行浮点数运算。    2、实例:复数的加法(14_001.cpp)        3、上例:对“+”运算符进行重载(14_002.cpp)    -二、运算符重载的规则    1、不允许自己定义新的运算符    2、不能重载的运算符        (1).         (成员访问运算符)        (2)*         (成员指针访问运算符)        (3):        (域运算符)        (4)sizeof    (长度运算符)        (5)?:        (条件运算符)    3、不能改变运算对象的个数    4、不能改变运算符的运算级别    5、不能改变结合性    6、重载运算符的函数不能有默认的参数    7、至少有一个参数是自定义的类对象(不能全是C+的标准类型)    8、用于类对象的运算符必须重载,有两个例外:“=”“&”    9、重载功能应该类似于标准的功能-三、 运算符重载函数作为友元函数    实例:复数相加(14_003.cpp)        说明:    1、在VC+ 6.0中运行此程序,应修改头两行,见程序。    2、由于友元函数会破坏类的封装性,所以应尽量避免使用。四、重载双目运算符(有两个操作数,如“+”)    1、实例:重载字符串比较运算符“=”、“>”、“<”、“!=”       说明:C+的字符串类型,就是对以上的运算符进行了重载,方便了字符串的比较    2、程序(14_004.cpp):以“=”运算符重载为例        注意:如果将重载函数 定义为友元函数,则程序开头两句应改为:          #include <iostream.h>    3、重载“+”运算符,对类对象进行相加运算(14_exam.cpp)        4、重载“<”运算符,对类对象进行比较(14_011.cpp)         5、重载“<”运算符,判断点在不在背景空白处(14_012.cpp)    -五、重载单目运算符    1、实例:重载运算符“+”(14_005.cpp)        说明:第二个重载函数,多了一个“int”参数,无实际意义,只是与第一个函数区别开来。-六、重载“<<”运算符    1、重载的格式:    ostream & operator <<(ostream &,自定义类&);    istream & operator >>(istream &,自定义类&);    2、重载“<<”的友元实例(14_006.cpp)        说明:        重载“<<”的函数定义成友元函数的形式,程序开头两句要改为:              #include <iostream.h>    3、重载“<<”的普通函数(14_007.cpp)        说明:这种方式,只能将“minute”和“sec”设置成公有成员,破坏了封装性,          总结上面的两种方式,都不是完善的重载方法,“<<”的重载存在着问题。    4、完整的程序,重载“<<”和“>>”的普通函数(14_008.cpp)注意:C+规定,重载“<<”和“>>”的函数 不能做为类的成员函数。-七、不同类型数据间的转换    1、隐式类型转换       int i=6;       i=3.5+i;   /先把“i”转换成“double”,计算得9.5,然后再转换为“int”,9    2、显式类型转换       i=int(7.5);    /C+写法    3、类的转换构造函数        (1)用途:将其它类型的数据转换成类的对象             cp(double r)real=r;imag=0;        (2)实例:             cp c1(3.5);   /将“dubble”类型数据“3.5”转换为复数对象“c1”             c1=cp(3.5);   /同上        (3)注意:转换构造函数只有一个参数    4、类型转换函数        (1)用途:将一个类的对象转换为其它类型数据        (2)实例:             operator double()                  return real;        (3)注意:函数没有参数,只能做为成员函数,根据上下文隐式调用             double d;             cp c;             d=3.5+c      /隐式调用类型转换函数,将“c”转换为“double”类型    5、类型转换函数实例:将一个double数据与一个cp数据相加(14_009.cpp)        6、实例:运算符重载与转换构造函数配合使用(14_010.cpp)        说明:书上程序无法在“VC+6.0”上运行,该程序已做调整,可运行。

注意事项

本文(第14课 运算符重载)为本站会员(痛***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!