[問題] 更改operator oder
class real
{
private:
double a;
public:
real();
real(double ini);
friend real operator^(const real & r1,const real & r2);
friend real operator+(const real & r1,const real & r2);
friend real operator-(const real & r1,const real & r2);
friend real operator*(const real & r1,const real & r2);
friend real operator/(const real & r1,const real & r2);
};
real::real()
{
a = 0;
}
real::real(double ini)
{
a =ini;
}
real operator ^(const real & r1,const real & r2)
{
real power;
power.a = pow(r1.a,r2.a);
return power;
}
real operator +(const real & r1,const real & r2)
{
real sum;
sum.a = r1.a + r2.a;
return sum;
}
real operator -(const real & r1,const real & r2)
{
real de;
de.a = r1.a - r2.a;
return de;
}
real operator *(const real & r1,const real & r2)
{
real dot;
dot.a = r1.a * r2.a;
return dot;
}
real operator /(const real & r1,const real & r2)
{
real sum;
sum.a = r1.a / r2.a;
return sum;
}
小弟在寫operator時遇到想要更改oder順序的問題,我只是想增加一個
operator ^,讓它有pow函數的功能而已,可是遇到諸如
d = a^b + c;這類式子時,它都會先處理b+c再來算 ^ ,不知道如何更改oder呢?
我希望運算的順序是 ^ > *,/ > +,-
或是有更好的方法可以解決。謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.215.132
→
10/03 13:09, , 1F
10/03 13:09, 1F
→
10/03 13:11, , 2F
10/03 13:11, 2F
→
10/03 14:49, , 3F
10/03 14:49, 3F
→
10/03 14:49, , 4F
10/03 14:49, 4F
推
10/03 19:42, , 5F
10/03 19:42, 5F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章