クラスで行ったこの例を理解しようとしていますが、問題があります...
クラス Time の場合、このクラスのインスタンスは時間、分、秒で構成されます
そう
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 の 1 つのパラメーター labStart のみが渡されるため、t2.mins t2.sec は labStarts の分と秒 (それぞれ 30 分と 0 秒) を占めますが、labEnd の変数 (12,20,0) はどこにありますか? ?? (インスタンス変数時間、分、秒)??