Stu::Stu(Stu &r) {
cout<<"Stu::Stu(Stu &r)"<<endl;
this->age = r.age;
this->no = r.no;
感谢大神告知
上面的答案第一句不是非常准确。this是类对象的指针,不是类的成员。
class Stu { };是定义了一个叫Stu的类。
Stu a;是定义了一个Stu类型的变量a,但是我们不称a为变量,而称a为对象或者实例。
this是一个指针,指向当前类的对象。在你的提供的构造函数代码里,this指向的就是Stu类构造对象时的那个对象。
this,代表当前类的成员。可以使用他获得当前类的成员变量和成员函数。当然,不使用也是可以的。但是如果参数名和成员变量名一致的话,还是得要用this,进去区分。