友元为什么在vc6下编译通不过,vs2005没问题
#include<iostream>
using namespace std;
class coord1
{
int x;
int y;
public:
coord1()
{
x=0;y=0;
}
coord1(int ix,int iy)
{
x=ix;
y=iy;
}
intgetx()
{
return x;
}
int gety()
{
return y;
}
friend ostream& operator<<(ostream& stream,coord1 obj);
friend istream& operator>>(istream& stream,coord1 obj);
};
ostream& operator<<(ostream& stream,coord1 obj)
{
stream<<obj.x<<","<<obj.y<<endl;
return stream;
}
istream& operator>>(istream& stream,coord1 obj)
{
stream>>obj.x>>obj.y;
}
int main()
{
}
#include<iostream>
using namespace std;
class coord1
{
int x;
int y;
public:
coord1()
{
x=0;
y=0;
}
coord1(int ix,int iy)
{
x=ix;
y=iy;
}
int getx()
{
return x;
}
int gety()
{
return y;
}
friend ostream& operator<<(ostream& stream,coord1 obj);
friend istream& operator>>(istream& stream,coord1 obj);
};
ostream& operator<<(ostream& stream,coord1 obj)
{
stream<<obj.x<<","<<obj.y<<endl;
return stream;
}
istream& operator>>(istream& stream,coord1 obj)
{
stream>>obj.x>>obj.y;
return stream;
}
int main()
{
coord1 cod1(110, 132);
cout << cod1 << endl;
return 0;
}
istream& operator>>(istream& stream,coord1 obj)
{
stream>>obj.x>>obj.y;
return stream;//这里要返回。。
}