课程
/后端开发
/C++
/C++远征之模板篇
cout << (coor1++).getX() << "," << (coor1++).getY() << endl;
2016-08-09
源自:C++远征之模板篇 4-3
正在回答
但是我运行出来的是(x0+1,y0).
jingxue
慕粉baby 回复 jingxue
设初始坐标x0,y0
第一个(coor1++)先执行,根据函数定义,返回的是执行++前的值old:x0,并非+1后的值x0+1,所以第一个输出x0,虽然此时的实际xy坐标已变成x0+1,y0+1。
同理,在执行第二个++时,虽然实际xy坐标再次+1,变为x0+2,y0+2,但返回的仍然是执行前的值y0+1,因此,最终有了输出结果:x0,y0+1。
举报
本C++教程力求即学即会,所有知识以实践方式讲解到操作层面