自己一直以為輸出重載非常簡單,所以從來沒有親手寫過,今天看到一本上上面應該這方面的介紹,就忍不住試了一下,果然問題百出,
在6.0中要重載<<時,不能使用如下的頭文件:
#include<iostream>
using namespace std;
而應該使用程序代碼中所用的形式,具體原因我沒有深入研究,望高人指點
#include<iostream.h>
//using namespace std;
class Rational
{
public:
?Rational(int numerator=0,int denominator=1)
?{
??n=numerator;
??d=denominator;
?}
private:
?int n,d;
friend ostream& operator<<(ostream& s,const Rational& r);
};
ostream& operator<<(ostream& s,const Rational& r)
{
?s<<r.n<<'/'<<r.d;
?return s;
}
int main()
{
?Rational rTemp;
?cout<<rTemp<<endl;
?return 1;
}