重载的运算符是具有特殊名字的函数:它们的名字由关键字 operator和其后要定义的运算符号共同组成。
和其他函数一样,重载的运算符也包含返回类型,参数列表,以及函数体。
重载运算符函数的参数数量与该运算符作用的运算对象一样多。
一元运算符有一个参数,对于二元运算符来说,左侧运算对象传递给第一个参数,右侧运算对象传递给第二个参数。
如果一个运算符函数式成员函数,则它的第一个(左侧)运算对象绑定到隐式的this指针上,因此,成员函数的(显式)参数数量比运算符的运算对象总数少一个。
1.直接调用一个重载的运算符函数
//一个非成员运算函数的等价调用 data1 + data2; //普通表达式 operator+(data1,data2) // 等价的函数调用 //调用成员运算符函数 data1 += data2; data1.operator += (data2); //对成员运算符函数的等价调用 /*将this绑定到data1的地址,将data2作为实参传入了函数*/