• C++零基础入门:运算符重载你掌握了吗


    前言
    本章节主要讲解是运算符重载。运算符重载是赋予运算符能操作自定义类型的功能。C++运算符重载主要分为以下三类:
    类成员函数重载
    友元函数重载
    流运算符重载
    类重载
    重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。如下实现对象与对象的加法的测试代码:
    对于上述重载: firstScore+secondScore 一般解析为 firstScore.operator +(secondScore) 的方式。operator+是函数名,对象调用成员函数的方式解析对象与对象的加法。所以类重载函数的参数个数是比运算符实际的操作数少1。
    友元重载
    友元重载,就是重载函数是友元函数,如下判断两个美女得分谁高的测试代码:
    上述代码中,我们真正要比较的其实只是两个美女的各自得分,对于Liu>Di 重载函数的解析过程为 operator>(Liu,DI);operator>是函数名,故友元重载的参数个数是等于运算符的操作数的。
    流重载
    流运算符的重载只能采用友元的方式,并且流对象当做参数的时候必须采用引用(&)的方式,所以这里小编单独归结为一类。具体实例代码如下:
     
    特殊重载
    前置++或者-- 与后置++以及--的重载,类重载的时候并不遵循上述情况,通常我们会带一个int标识参数当做后置++或者--的重载,如下代码:
    从这一点上看,其实前置之所以比后置快,一目了然,躲了一个对象的创建过程。
    重载注意项
    C++通常习惯单目运算符重载为类的成员函数,双目运算符重载友元函数,要注意的是有些运算符不能重载以及有些运算符只能重载类成员函数:
    =,(),[],-> 只能重载为类成员函数
    .,.*,::,?: 不能被重载
    C++重载运算符的时候至少有一个数据是自定义类型,这个是重载的必备条件,切记。
    如果你想以编程语言立生,建议你先学习C/C++打好基础。C/C++是一门通用计算机编程语言,是面向过程的语言,其语法结构及其严谨,且应用十分广泛。而且只要将C/C++研究透彻了的话,学习其他语言就会轻松很多。
  • 相关阅读:
    解决博客园中代码着色问题
    使用OutputDebugString输出调试信息
    Android编程小实验
    在安卓3.0以下版本使用Fragment的注意事项
    开源中国客户端源码阅读笔记
    C++基础
    IO流
    OAuth笔记
    反射
    链表
  • 原文地址:https://www.cnblogs.com/mu-ge/p/13820116.html
Copyright © 2020-2023  润新知