C++ 另一個例子

2023-03-20 16:21 更新

我們來把increment函數(shù)轉(zhuǎn)換為成員函數(shù)。我們再次將其中一個參數(shù)變成this。然后檢查整個函數(shù)并使所有變量被隱式訪問。

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;
  }
} 

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

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

struct Time {
   int hour, minute;
   double second;

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

為了調(diào)用(call)這函數(shù),我們再次需要通過Time對象調(diào)用(invoke)它:

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

程序輸出9:22:50。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號