C++ | 运算符重载
运算符重载
-
在类中的函数进行重载(成员函数)
运算符重载用于重新定义运算符的作用,使用函数名称
operatorOP
作为函数名,其中OP
为具体的运算符(如operator+
)class Time{ Time operator+(const Time &t); }; Time a, b; Time c = a + b;
在成员函数中重载的运算符,如
+
-
等,默认左边的操作数为当前对象,右边的操作数为函数参数。如上面代码中,a+b
等价于a.operator+(b)
。而如果使用非成员函数重载
+
,则需要定义成operator+(const Time &a, const Time &b)
-
大多数运算符也可以在类之外的函数重载,但下列运算符只能在成员函数中进行重载:
-
=
:赋值运算符 -
()
:函数调用运算符 -
[]
:下标运算符 -
->
:通过指针访问类成员的运算符
-