欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C++课件第十三章运算符重载.pptx

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

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

    C++课件第十三章运算符重载.pptx

    c+课件第十三章运算符重载目录运算符重载概述运算符重载的分类运算符重载的技巧运算符重载的应用场景运算符重载的注意事项运算符重载概述0101运算符重载是指为已有的运算符赋予新的含义,使其能够用于特定的类或对象。02通过运算符重载,我们可以使C中的运算符具有更灵活、更丰富的功能。03运算符重载允许我们自定义运算符的行为,以满足特定类或对象的操作需求。什么是运算符重载运算符重载必须使用关键字operator。运算符重载不能改变运算符的优先级和结合性。运算符重载不能改变运算符的语法结构。运算符重载不能改变运算符的参数个数。运算符重载不能改变运算符的返回类型。运算符重载的规则重载加法运算符+,用于向量相加 重载加法运算符+,用于向量相加运算符重载的示例01cpp02Vector operator+(const Vector&v)const return Vector(x+v.x,y+v.y,z+v.z);运算符重载的示例02重载赋值运算符=,用于自定义类型的赋值操作运算符重载的示例cppMyClass&operator=(const MyClass&other)/实现赋值操作的具体逻辑运算符重载的示例return*this;运算符重载的示例重载输入输出运算符,用于自定义类型的输入输出操作运算符重载的示例0102cppfriend std:ostream&operator(std:istream&is,MyClass&obj)运算符重载的示例/实现输入操作的具体逻辑return is;运算符重载的示例运算符重载的示例运算符重载的分类02重载一元运算符时,需要使用关键字operator,并在其后跟上要重载的运算符的名称。例如,重载一元加号运算符的语法如下一元运算符重载是指对一元运算符进行重载,使其能够用于自定义类型的操作。例如,可以对一元加号运算符进行重载,使其可以对自定义类型的对象进行前缀形式的加法操作。一元运算符重载cppclass MyClass 一元运算符重载publicMyClass operator+()const/实现加法操作的代码一元运算符重载;一元运算符重载二元运算符重载是指对二元运算符进行重载,使其能够用于自定义类型的操作。例如,可以对加法运算符进行重载,使其可以对自定义类型的对象进行加法操作。重载二元运算符时,需要使用关键字operator,并在其后跟上要重载的运算符的名称。例如,重载加法运算符的语法如下二元运算符重载0102二元运算符重载class MyClass cpppublicMyClass operator+(const MyClass&other)const 二元运算符重载/实现加法操作的代码二元运算符重载030102;二元运算符重载成员运算符重载成员运算符重载是指将运算符重载为类的成员函数。例如,可以将赋值运算符重载为类的成员函数,以便实现自定义类型的赋值操作。重载成员运算符时,需要将运算符函数的第一个参数设置为this指针,以表示当前对象。例如,重载赋值运算符的语法如下成员运算符重载cppclass MyClass VSpublicMyClass&operator=(const MyClass&other)成员运算符重载/实现赋值操作的代码return*this;成员运算符重载123;成员运算符重载运算符重载的技巧0301保持一致性运算符重载函数的返回类型应与运算符的自然语义保持一致。例如,对于加法运算符,通常应返回一个新的对象,包含两个操作数的和。02考虑使用引用对于大型对象,为了避免复制开销,可以考虑返回引用或指针。03避免返回局部变量的引用局部变量在函数返回后会被销毁,因此返回局部变量的引用会导致未定义行为。返回类型的设计保持语义一致性01运算符重载函数的参数应与运算符的自然语义保持一致。例如,对于加法运算符,通常需要两个操作数作为参数。02考虑使用常量引用对于不可修改的操作数,可以使用常量引用来避免复制。03考虑使用非常量引用对于可修改的操作数,可以使用非常量引用来允许在函数内部修改其值。参数的设计遵循C标准库的约定对于优先级相同的运算符,应遵循C标准库的约定,以确保与其他库和代码的兼容性。避免与C标准库中的运算符冲突在定义自定义运算符时,应避免与C标准库中的运算符名称冲突,以减少混淆和错误。考虑使用命名空间限定符如果自定义运算符名称与C标准库中的名称冲突,可以考虑使用命名空间限定符来区分两者。运算符重载的优先级运算符重载的应用场景04当你需要将两个对象进行比较或合并时,可以通过运算符重载来实现。例如,在图形编程中,你可能需要比较两个矩形是否相交,或者将两个矩形合并成一个。重载运算符可以提供一种简洁、直观的方式来表达这些操作,使代码更易于理解和维护。类与类之间的运算在某些情况下,你可能希望将一个对象与一个基本数据类型进行运算。例如,你可能有一个表示复数的类,并希望将一个复数与一个整数相加或相乘。通过运算符重载,你可以定义这些操作的行为,以满足你的需求。例如,你可以定义复数与整数相乘时,实部和虚部都乘以整数的行为。类与基本数据类型之间的运算除了类与基本数据类型之间的运算外,运算符重载还允许你将一个对象与另一个自定义的数据类型进行运算。例如,你可能有一个表示矩阵的类和一个表示向量的类,并希望将一个矩阵与一个向量相乘。通过运算符重载,你可以定义这个操作的行为,以实现矩阵与向量相乘的功能。通过合理地使用运算符重载,你可以使你的代码更加简洁、易读,并提高代码的可维护性。同时,它还可以帮助你更好地表达你的意图,使你的代码更加符合直觉和习惯。类与自定义数据类型之间的运算运算符重载的注意事项050102运算符重载时,应保持与原有运算符相似的语义,不要改变其原有的功能和意义。例如,加号“+”在数学中表示相加,在C中重载后仍应表示相加的意义,而不是其他操作。不要改变运算符原有的语义运算符重载时,应避免产生歧义,确保代码的可读性和准确性。例如,不要将赋值运算符“=”重载为其他含义,以免与其他操作混淆。避免产生歧义运算符重载时,应尽量保持与其他运算符的一致性,遵循C语言的语法和语义规范。例如,对于一元运算符和二元运算符的重载,应保持相似的使用方式和语义,以便于理解和使用。尽量保持一致性THANKS感谢观看

    注意事项

    本文(C++课件第十三章运算符重载.pptx)为本站会员(太**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开