短短几行代码,欢迎近来坐坐。
#include<iostream>
using namespace std;
class Point
{
int x,y;
public:
void set(int a,int b)
{
x=a;
y=b;
}
Point operator+(const Point &d)
{
Point s;
s.set(x+d.x,y+d.y);
return s;
}
friend ostream& operator<<(ostream& o,const Point& d);
};
inline ostream& operator<<(ostream& o,const Point& d)
{
return o<<"("<<d.x<<", "<<d.y<<")\n";
}
int main()
{
Point s,t;
s.set(2,5);
t.set(3,1);
cout<<s+t;
}
请问为什么编译出错呢,这里应该是友元函数才对呢。望大侠们指点。。。。