已采纳回答 / 慕哥3558660
你这个把两个后置++放在一条cout语句中输出,按照C++标准会产生一个未定义的行为。编译器在处理输出流的过程是按照自右向左的顺序对各输出项进行求值的。所以先进行((*coor)++).getY()的求值得到3,再进行((*coor)++).getX()的求值得到2,最后按顺序输出2,3。要想得到1,4最好将其分成两条cout语句来写。这就和int a = 1; cout << a++ << a++ << endl;得到的结果是2,1的道理是一样的。
2018-10-08
最新回答 / 空格键的自白
不使用引用也是可以的,但是形参输入函数会在堆栈新开一个区域给参数,对于一般类型的数据可能无所谓但是对于类来说就很庞大了。而且形参如果不是指针和引用是无法修改对象的参数的。
2018-09-27
最赞回答 / qq_谢谢惠顾_2
#include <iostream>using namespace std;class Time{public: friend void printTime(Time &t); Time(int hour, int min, int sec) { m_iHour = hour; m_iMinute = min; m_iSecond = sec; }private: int m_iHour; int m_iM...
2018-09-09
已采纳回答 / zyczxl
因为所有的函数都有自带的(隐藏的)this指针。你如果有自定义括号内的变量你就返回它,比如old。如果没有,你就得返回一个this指针。就像你c++写main函数的时候,如果你是int main(),你没有在最后写return 0,系统会报错的。
2018-08-15