我試圖理解這個例子中,我們在課堂上沒有,但遇到一些麻煩......瞭解C++類和函數調用
對於上課的時候,這個類的一個實例是由小時,分鐘,秒的
所以
Time labStart(10,30,0);
Time labEnd (12,20,0);
(labEnd-labStart).printTime() //I'm not concerned with the printTime function
const Time Time::operator - (const Time& t2) const {
int borrow=0;
int s=secs-t2.secs;
if (s<0) {
s+=60;
borrow=1;
}
int m=mins-t2.mins2-borrow;
if (m<0) {
m+=60;
borrow=1;
}
else
borrow=0;
int h= hrs-t2.hrs-borrow;
if (h<0) {
h+=24;
Time tmp=Time(h,m,s);
return tmp;
}
所以,如果我們傳遞兩個labEnd和labStart,有人告訴我(labEnd-labStart)〜labEnd.operator-(labStart)
我不明白如何以及在何處labEnd的變量是否被考慮?在上面的函數中,只有一個Time參數被傳入labStart,因此t2.mins t2.sec爲labStarts分鐘和秒(分別爲30分鐘和0秒),但是labEnd的變量(12,20,0) ?? (實例變量小時,分鐘,秒)?