15运算符重载_精品.pptx

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;;? 运算符重载就是对现有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。;? 所谓重载,就是重新赋予新的含义。例如函数重载,就是对一个已有的函数赋予新的功能。 ? C++语言本身就重载了很多运算符,例如是位运算中的左移运 算符,但在输出操作中又是与流对象cout配合是的流插入运算符, 运算符也是。 ? C++允许程序员重载大部分运算符,使运算符符合所在的上下文环 境。虽然重载运算符的任务也可以通过显式的函数调用来完成,但 是使用运算符重载往往使程序更清晰。;? 本质上,运算符重载是函数的重载。重载运算符使具有特殊名称的函数,形式如下:;;? 将‘+’用于复数类的加法运算,运算符函数原型可以是:;? 重载运算符的规则: ? (1)C++绝大部分的运算符可以重载,不能重载的运算符有: . .* :: ?: sizeof ? (2)不能改变运算符的优先级、结合型和运算对象数目。 ? (3)运算符重载函数不能使用默认参数。 ? (4)重载运算符必须具有一个类对象(或类对象的引用)的参数,不能全部是C++的内置数据类型。 ? (5)一般若运算结果作为左值则返回类型为引用类型;若运算结果要作为右值,则返回对象。 ? (6)重载运算符的功能应该与原来的功能一致。;;;? 当运算符重载为成员函数时,运算符函数的形式参数的个数比运算 符规定的运算对象个数要少一个。 ? 原因是类的非静态成员函数都有一个隐含的this指针,运算符函数可以用this指针隐式地访问类对象的成员,因此这个对象自身的数据可以直接访问,不需要放到形参列表中进行传递,少了的运算对 象就是该对象本身。;? 1. 双目运算符重载为类的成员函数,形式如下:;;;? 2. 前置单目运算符重载为类的成员函数,形式如下:;;;? 3. 后置单目运算符重载为类的成员函数,形式如下:;【例15.3】实现复数类的后置自增运算。;;;;;;;;;;;

文档评论(0)

有谱教育资源分享 + 关注
实名认证
内容提供者

热爱生活,分享教育专业文档! 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档