C++运算符重载
运算符重载:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型
加号运算符重载:实现两个自定义数据类型相加的计算【对于内置的数据类型的表达式的运算符是不可能改变的;不要滥用运算符重载】
左移运算符重载:可以输出自定义数据类型
递增运算符重载:通过重载递增运算符,实现自己的整型数据
赋值运算符重载:
C++编译器至少给一个类添加4个函数:
1)默认构造函数(无参,函数体为空)
2)默认析构函数(无参,函数体为空)
3)默认拷贝构造函数,对属性进行值拷贝
4)赋值运算符operator=,对属性进行值拷贝
如果类中有属性指向堆区,做赋值操作时也会出现深浅拷贝问题
关系运算符重载:重载关系运算符,可以让两个自定义类型对象进行对比操作
函数调用运算符()重载:由于重载后使用的方式非常像函数的调用,因此称为仿函数;仿函数没有固定的写法,非常灵活