作业帮 > 综合 > 作业

Move Move::add(const Move &n) { Move s; s.x=x+n.x; s.y=y+n.y

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/04/25 21:13:39
Move Move::add(const Move &n) { Move s; s.x=x+n.x; s.y=y+n.y; return s; } 中的x 是什么?
Move Move::add(const Move &n) { Move s; s.x=x+n.x; s.y=y+n.y
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
这么说你明白了吗?