C++ 运算符重载

mac2022-06-30  112

重载的运算符是具有特殊名字的函数:它们的名字由关键字 operator和其后要定义的运算符号共同组成。

和其他函数一样,重载的运算符也包含返回类型,参数列表,以及函数体。

重载运算符函数的参数数量与该运算符作用的运算对象一样多。

一元运算符有一个参数,对于二元运算符来说,左侧运算对象传递给第一个参数,右侧运算对象传递给第二个参数。

如果一个运算符函数式成员函数,则它的第一个(左侧)运算对象绑定到隐式的this指针上,因此,成员函数的(显式)参数数量比运算符的运算对象总数少一个。

1.直接调用一个重载的运算符函数

//一个非成员运算函数的等价调用 data1 + data2; //普通表达式 operator+(data1,data2) // 等价的函数调用 //调用成员运算符函数 data1 += data2; data1.operator += (data2); //对成员运算符函数的等价调用 /*将this绑定到data1的地址,将data2作为实参传入了函数*/

 

转载于:https://www.cnblogs.com/Shinered/p/9017013.html

最新回复(0)