在 c++ 中,我实现了一个integer
类,并重载operator ^
为幂函数。
integer integer::operator^ (const integer& rhs){
return integer(pow(this->.i, rhs.i));
}
这适用于两个操作数。
integer i1, i2, i3 ;
i4 = i1 ^ i2 ^ i3;
的值在i4
数学上是错误的,因为关联性需要从右到左。我怎么解决这个问题?如何更改关联性?
我得到了合理的答案,我了解到:
-We can't change associativity or priority of an operator.
-Good is Not to overload operators to do something conceptually different to
the built-in versions
-Even compiler can't support; it hard to implement!