运算符重载
-
内置类型的运算符无法重载,只能操作自定义类型
-
不能重载的运算符
.
.*
?:
::
sizeof
-
不能有默认参数,否则会改变操作符的数量
普通函数重载
要求其中的数据成员时public的
classA operator + (const classsA & a, const classA & b){
return classA(a._a b._a);
}
成员函数的方式进行重载
有隐含的this指针
classA operator + (const classA & other)
return classA(_a + other._a)
友元函数重载
如果数据成员是私有的,则要以友元的形式在类外进行重载
即把其设为类的friend
前置和后置++的运算符重载
都以成员函数的形式来重载。一个返回的是引用值,一个返回的是没有更改的对象的副本。
为了区分前置和后置,可以在参数列表中多加一个int,但不代表要传递的参数
classA &