• 操作符重载的概念


    操作符重载

    c++中的重载能够扩展操作符的功能

    操作符的重载以函数的方式进行

    本质:

    用特殊形式的函数扩展操作符的功能

    通过operator关键字可以定义特殊的函数

    operator的本质是通过函数重载操作符

    语法:

    Type operator Sign(const Type p1, const Type p2)

    {

      Type ret;

      return ret;

    }

    Sign为系统中预定义的操作符,如:+,-,*,/,等

    可以将操作符重载函数定义为类的成员函数

      比全局操作符重载函数少一个参数(左操作数)

      不需要依赖友元就可以完成操作符重载

      编译器优先在成员函数中寻找操作符重载函数

    class Type

    {

    public:

      Type operator Sign(const Type& p)

      {

        Type ret;

        return ret;

      }

    }

    小结

    操作符重载是c++的强大特性之一

    操作符重载的本质是通过函数扩展操作符的功能

    operator关键字是实现操作符重载的关键

    操作符重载遵循相同的函数重载规则

    全局函数和成员函数都可以实现对操作符的重载

    注意事项

    c++规定赋值(=)只能重载为成员函数

    操作符重载不能改变原操作符的优先级

    操作符重载不能改变操作数的个数

    操作符重载不应改变操作符的原有语义

    小结

    赋值操作符只能通过成员函数实现

    操作符重载的本质为函数定义

  • 相关阅读:
    安装minicom串口访问开发板
    《Linux运维趋势》2010-2013年全部期刊下载
    pap与chap协议
    简单linux网络驱动程序
    573. Squirrel Simulation
    576. Out of Boundary Paths
    568. Maximum Vacation Days
    leetcode contest 20
    55 Jump Game i && 45 Jump Game ii
    120. Triangle
  • 原文地址:https://www.cnblogs.com/sugarWill666/p/9074917.html
Copyright © 2020-2023  润新知