运算符重载是面向对象编程语言的重要组成部分。运算符重载是静态或编译时多态的一种。
通过使用运算符重载的概念,我们可以将额外的任务分配给现有的运算符。
例如,我们可以将多个任务分配给+运算符:
+运算符用于加两个数字。
+运算符还用于连接两个字符串。
运算符重载的基本目的是为程序员提供便利,以最自然的形式编写表达式。
运算符重载的第一条基本规则是:我们可以将一元运算符作为唯一的一元运算符进行重载,而不能作为二元运算符进行重载,反之亦然。
我们不能重载那些不属于C ++语言的运算符,例如'$'。
我们只能在用户定义的类中执行运算符重载。我们无法更改运算符的现有功能。
使用运算符重载,我们无法更改运算符的主席职位和相关权限。
下面列出了一些不能重载的运算符:
::范围解析运算符。
。类成员运算符。
?:三元或条件运算符。
。*指向成员运算符的指针。
-> *指向成员运算符的指针。
运算符重载可以通过两种方式完成:
成员函数的运算符重载
非成员或自由函数的运算符重载