已采納回答 / 慕哥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