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