发现生活之美

5.2 C++重载操作符的优先级

参考:http://www.weixueyuan.net/view/6380.html

总结:

  重载操作符不能改变操作符的优先级和语法特性。  

重载操作符不能改变操作符的优先级和语法特性。例如上一节复数类中的加法操作符重载函数,重载后加法的优先级仍然保持不变,重载后仍然为二元操作符。

例1:

int main()
{
    complex c1,c2,c3,c4;
        //......
    c4 = c1 + c2 * c3;
    return 0;
}

 

继续沿用上一节的例1中的complex复数类,在例1中定义了该类的四个对象,然后进行四则运算,c4 = c1 + c2 * c3; 这一语句亦等同于c4 = c1 + ( c2 * c3 ) ;,虽然在复数类中重载了加减乘数四个操作符,但是并不会改变它们为二元操作符的特性,同时也不会改变它们的优先级,因此对于重载后的加法操作符而言,其优先级是低于乘法操作符的。

重载后的操作符其用法不会被改变,例如加法操作符总是出现在两个操作数之间,重载后,使用加法操作符仍然是必须将加法操作符置于两个操作数之间。例如例1中的加法和乘法操作符在重载后仍然保持原有的使用方法。

posted on 2017-10-20 06:29  发现生活之美  阅读(850)  评论(1编辑  收藏  举报

导航