运算符重载的方法是定义一个重载运算符的函数,在需要执行被重载的运算符时,系统就自动调用该函数,以实现响应的运算;
也就是说 , 运算符重载是通过定义函数实现的 , 运算符重载实质上是函数的重载;
重载运算符的函数一般格式 :
函数类型 operator 运算符名称 (形参列表){
对运算符的重载处理;
}
例如 : 重载+运算符 ;
int operator+(int a ,int b){
return a-b;
}
c++不允许用户自定义新的运算符,只能对已有的c++运算符进行重载 ;其中有5中运算符不允许重载;
不允许重载的运算符为 : . (成员访问运算符) *(成员指针访问运算符) ::(域运算符) sizeof (尺寸运算符) ?:(条件运算符)
重载不能改变运算符运算对象个数 ;
重载不能改变运算符的优先级别 ;
重载不能改变运算符的结合性;不能有默认的参数;
重载运算符必须和用户自定义的类型对象一起使用 ;也就是说 , 参数不能全部都是c++的标准类型 , 这样约定是为了防止用户修改用于标准类型结构的运算符性质 ;