C++重载操作符的优先级
重载操作符不能改变操作符的优先级和语法特性。例如上一节复数类中的加法操作符重载函数,重载后加法的优先级仍然保持不变,重载后仍然为二元操作符。
举个例子:
重载后操作符的用法不会被改变,比如加法操作符总是出现在两个操作数之间,重载后,加法操作符仍然必须将加法操作符置于两个操作数之间。比如例 1 中的加法和乘法操作符在重载后仍然保持原有的使用方法。
声明:《C++系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
举个例子:
int main() { complex c1,c2,c3,c4; //...... c4 = c1 + c2 * c3; return 0; }继续沿用上一节例 1 中的 complex 复数类,我们定义了该类的四个对象,然后进行四则运算,
c4=c1+c2*c3;
语句等同于c4=c1+(c2*c3);
,虽然在复数类中重载了加减乘数四个操作符,但是并不会改变它们为二元操作符的特性,同时也不会改变它们的优先级,因此对于重载后的加法操作符而言,其优先级是低于乘法操作符的。重载后操作符的用法不会被改变,比如加法操作符总是出现在两个操作数之间,重载后,加法操作符仍然必须将加法操作符置于两个操作数之间。比如例 1 中的加法和乘法操作符在重载后仍然保持原有的使用方法。
声明:《C++系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。