C运算符重载注意事项和汇总有哪些细节需要注意?
- 内容介绍
- 文章标签
- 相关推荐
本文共计692个文字,预计阅读时间需要3分钟。
在C++中进行运算符重载时,需要注意以下问题:运算符重载后,运算符的含义应与原有用法习惯相符。例如,重载的++运算符应实现类似于加法的功能,而在重载的++运算符中执行减法是不合适的。
-
重载后运算符的含义应该符合原有用法习惯。例如重载
+运算符,完成的功能就应该类似于做加法,在重载的+运算符中做减法是不合适的。此外,重载应尽量保留运算符原有的特性。 - C++ 规定,运算符重载不改变运算符的优先级。
-
以下运算符不能被重载:
.、.*、::、? :、sizeof。 -
重载运算符
()、[]、->、或者赋值运算符=时,只能将它们重载为成员函数,不能重载为全局函数。
运算符重载的实质是将运算符重载为一个函数,使用运算符的表达式就被解释为对重载函数的调用。
运算符可以重载为全局函数。此时函数的参数个数就是运算符的操作数个数,运算符的操作数就成为函数的实参。
运算符也可以重载为成员函数。
本文共计692个文字,预计阅读时间需要3分钟。
在C++中进行运算符重载时,需要注意以下问题:运算符重载后,运算符的含义应与原有用法习惯相符。例如,重载的++运算符应实现类似于加法的功能,而在重载的++运算符中执行减法是不合适的。
-
重载后运算符的含义应该符合原有用法习惯。例如重载
+运算符,完成的功能就应该类似于做加法,在重载的+运算符中做减法是不合适的。此外,重载应尽量保留运算符原有的特性。 - C++ 规定,运算符重载不改变运算符的优先级。
-
以下运算符不能被重载:
.、.*、::、? :、sizeof。 -
重载运算符
()、[]、->、或者赋值运算符=时,只能将它们重载为成员函数,不能重载为全局函数。
运算符重载的实质是将运算符重载为一个函数,使用运算符的表达式就被解释为对重载函数的调用。
运算符可以重载为全局函数。此时函数的参数个数就是运算符的操作数个数,运算符的操作数就成为函数的实参。
运算符也可以重载为成员函数。

