注册 登录
编程论坛 C++教室

[求助]如何重载运算符?

走自己路的人 发布于 2007-04-28 12:14, 556 次点击
重载运算符">","<","<<"和">>",可以比较两个复数,以及输入和输出复数.
请问这个程序如何编?谢谢了?
2 回复
#2
aipb20072007-04-28 13:04
[CODE]Rational operator+ (const Rational &r1,const Rational &r2){
return r1.Add(r2);
}
Rational operator- (const Rational &r1,const Rational &r2){
return r1.Subtract(r2);
}
Rational operator* (const Rational &r1,const Rational &r2){
return r1.Multiply(r2);
}
Rational operator/ (const Rational &r1,const Rational &r2){
return r1.Divide(r2);
}
//stream operators
ostream& operator<< (ostream &sout,const Rational &r){
r.Insert(sout);
return sout;
}
istream& operator>> (istream &sin ,Rational &r){
r.Extract(sin);
return sin;
}
//bool operator
bool operator== (const Rational &r1,const Rational &r2){
return r1.Equal(r2);
}
bool operator< (const Rational &r1,const Rational &r2){
return r1.LessThan(r2);
}
bool operator<= (const Rational &r1,const Rational &r2){
if (r1.LessThan(r2) || r1.Equal(r2))
return true;
else
return false;
}
bool operator> (const Rational &r1,const Rational &r2){
if (!r1.LessThan(r2))
return true;
else
return false;
}
bool operator>= (const Rational &r1,const Rational &r2){
if (!r1.LessThan(r2) || r1.Equal(r2))
return true;
else
return false;
}[/CODE]

这是分数的一些重载,你看看吧,道理一样的!
#3
走自己路的人2007-04-28 13:51
谢谢你了!
1