为什么会有运算符重载?
我们会发现无论是C语言还是C++中我们不能直接去使用运算符将两个自定义类型去直接实现我们的加,减,判断,赋值…等等一些运算符的操作,但是如果我们就是要让两个自定义类型去实现他们的加减呢?所以诞生了运算符重载,这个运算符重载可以帮助我们实现这个目标。
什么是运算符重载?
运算符重载是一种具有特殊函数名的函数关键字是(operator 操作符) 既然它是一个函数那么它就具有函数的一系列特性和声明方式,返回值,关键字 操作符 参数构成。
作为类的成员函数时它的参数会比表现形式多一个形参this
如何使用和实现?
我们用日期类来演示
我们如何将一个日期类的对象加多少多少天来组成一个新的对象
这里我们用到了两个函数,一个是GetMonthday这个函数用来帮助我们获得每一个月有多少天由于受闰年和平年的影响所以这里的二月也在变,由于我们的数组是从0作为下标的所以我们用一个值去填上0这个值然后我们就可以用的比较顺手
我们来看看效果
原理都是一样的看实现方式吧记得我们这里的函数是可以实现复用的比如说我们的+=
各种运算符的重载我们都可以实现
实现的代码我放在了gitee中
我的gitee<-点这里