Move Move::add(const Move &n) { Move s; s.x=x+n.x; s.y=y+n.y; return s; } 中的x 是什么?

来源:学生作业学帮网 编辑:学帮网 时间:2024/05/15 16:41:34

Move Move::add(const Move &n) { Move s; s.x=x+n.x; s.y=y+n.y; return s; } 中的x 是什么?

Move貌似是一个类或者结构体.
Move s定义了一个Move的实例.用于返回值.
s.x是调用了这个实例的一个变量,用于返回值.
s.x=x+n.x 中的独立的x,其实是省略了隐含的指针,应该解读为this.x,指向的是在外部调用这个类的函数实例.
举个例子,比如你在main函数里定义了一个Move aa;然后你又定义了一个Move bb;
然后你用aa调用它的成员函数add,跟bb相加,也就是写成aa.add(bb),
则上面所说的this指向的是aa,也就是指的是aa的内部成员x,也就是aa.x
这么说你明白了吗?