C++运算符重载图文详解

编辑: admin 分类: c#语言 发布时间: 2021-12-12 来源:互联网
目录
  • 1. 运算符重载
    • 1.1 运算符重载为普通函数
    • 1.2 运算符重载为成员函数
  • 2. 赋值运算符=的重载
    • 2.1浅复制与深复制
    • 2.2返回值的讨论
  • 3. 动态可变长度数组
    • 总结

      1. 运算符重载

      C++的运算符只能用于基本的数据类型

      表达形式

      返回值类型 operator 运算符 (形参表)
      {
      	...
      }
      

      1.1 运算符重载为普通函数

      在这里插入图片描述

      在这里插入图片描述

      1.2 运算符重载为成员函数

      在这里插入图片描述

      在这里插入图片描述

      2. 赋值运算符=的重载

      当赋值运算符两边的类型不匹配,比如int类型赋值给Complex类型,在这种情况下,就需要重载赋值运算符=,赋值运算符=只能重载为***成员函数***,不能重载为普通函数。

      指向动态

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      2.1浅复制与深复制

      浅复制:逐个字节的复制工作

      在这里插入图片描述

      在这里插入图片描述

      深复制:将指针变量指向的内容复制给另一个对象中指针成员对象指向的内容

      在这里插入图片描述

      为了实现上面的效果,需要设计一个新的operator=,具体实现程序如下:

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      2.2返回值的讨论

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      3. 动态可变长度数组

      在这里插入图片描述

      在这里插入图片描述

      总结

      本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注海外IDC网的更多内容!

      【本文由:防cc 提供,感恩】