c++起步问题 A& operator=(A &p);

来源:百度知道 编辑:UC知道 时间:2024/06/26 04:19:17
#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;}
A& operator=(A &p);
int getX(){return X;}
int getY(){return Y;}
private:
int X,Y;
};
A& A::operator =(A &p){
X=p.X;
Y=p.Y;
cout<<"Assignment operator called.\n";
return *this;
}
main(){
A a(7,8);
A b;
b=a;
cout<<b.getX()<<","<<b.getY()<<endl;

}

谁给解释一下,A(A &p){X=p.X;Y=p.Y;}
A& operator=(A &p);
A &p表示什么意思啊??谢谢了

A& operator=(A &p);
中的参数(A &p)表示一个A类型的引用变量,引用变量相当于一个普通变量的别名,操作的时候直接对该变量地址里所存的内容做操作。

A是输入类型,&表示应用;传入得是a类型的引用。
ls不对吧!

传入的是一个类型为Class A的地址。