Posted on 2006-12-14 22:58
平凡的天才 阅读(780)
评论(1) 编辑 收藏 引用
自己一直以为输出重载非常简单,所以从来没有亲手写过,今天看到一本上上面应该这方面的介绍,就忍不住试了一下,果然问题百出,
在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;
}