operator重载运算符其实不难(自我感觉)
一、什么是运算符重载?
运算符重载是C++中的一项强大特性,允许程序员为自定义类型定义运算符的行为。简单来说,就是让+、-、*、/等运算符能够像处理内置类型一样处理我们自定义的类或结构体。
二、为什么要使用运算符重载?
* 提高代码可读性: c = a + b 比 c = add(a, b) 更直观
* 使自定义类型使用起来更自然
* 简化复杂对象的操作
三、代码示例并解析
那我们先从一段代码入手
这段代码的主要功能就是对于 vector <int> + vector <int> 的运算方法修改为容器内部的数据进行顺序合并存储在 lst 容器中,最终计算结果为 return 返回的 lst 容器.
举个例子:
给出重载运算符的模版:
operator只重载对于当前两个你给出的数据类型相加的运算,其他数据类型使用该运算符不会被修改
提醒一下,operator重载的运算符只能是c++标准库中的合法字符(例如:$是不行的, *是可以的)。
四、运用到实际
比如可以用此来实现一下向量的相加(使用pair类型):
那么先实现 operator 重载:
然后就是主函数:
OK, 这个相加就实现了!
如果觉得本文章有不足,请发在评论区里