关于运算符重载
本人初学C++ 遇到一个问题,程序如下:
#include "iostream.h"
class A
{
public:
A(){X=Y=0;}
A(int i,int j){X=i;Y=j;}
A(A &p){X=p.X;Y=p.Y;}
friend A& operator=(A &t,A &p);
int getX(){return X;}
int getY(){return Y;}
private:
int X,Y;
};
A& operator =(A &t,A &p)
{
t.X=p.X;
t.Y=p.Y;
cout<<"Assignment oprator called.\n";
}
void main()
{
A a(7,8);
A b;
b=a;
cout<<b.getX()<<","<<b.getY()<<endl;
}
为什么会出错呢?请各位大虾帮帮偶