重载运算符:
利用现有的某种运算符,针对自定义类或者结构,定义某种运算操作。
为什么要重载运算符:
利用现有运算符,简化自定义类型的操作。最好是,该运算符和该操作,具有一定以相关性。
重载运算符不能做什么:
1)创造新运算符
2)改变运算符语法
3)重定义运算符如何处理预定义类型(如:+等于-)
4)改变运算符的优先级和结合性
哪些运算符可以重载:
一元运算符:+、-、!、~、++、--、true、false
注:操作数必须是类或结构
二元运算符:+、-、*、/、%、&、|!、^、<<、>>、==、!=、>、<、>=、<=
注:两个操作数至少有一个是类或结构
不能重载:=、&&、||、[](索引操作符)、()等等