C++ 另一個(gè)例子

2023-03-20 16:21 更新

我們來(lái)把increment函數(shù)轉(zhuǎn)換為成員函數(shù)。我們?cè)俅螌⑵渲幸粋€(gè)參數(shù)變成this。然后檢查整個(gè)函數(shù)并使所有變量被隱式訪問(wèn)。

void Time::increment (double secs) {
  second += secs;

  while (second >= 60.0) {
     second -= 60.0;
     minute += 1;  
  }
  while (minute >= 60.0) {
     minute -= 60.0;
     hour += 1;
  }
} 

順便說(shuō)一句,請(qǐng)記住這并非是該函數(shù)的最高效實(shí)現(xiàn)。如果你在第九章沒(méi)有這么做,那你現(xiàn)在應(yīng)該寫(xiě)一個(gè)更有效率的版本。

我們可以復(fù)制第一行到結(jié)構(gòu)體定義中來(lái)聲明這一函數(shù)。

struct Time {
   int hour, minute;
   double second;

   void Time::print();
   void Time::increment(double secs);
};

為了調(diào)用(call)這函數(shù),我們?cè)俅涡枰ㄟ^(guò)Time對(duì)象調(diào)用(invoke)它:

Time currentTime = { 9, 14, 30.0};
currentTime.increment (500.0);
currentTime.print ();

程序輸出9:22:50。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)