1 / 16

物件導向程式設計

物件導向程式設計. CH6. 函式. 函式( function ) 執行一段會重複用到的功能 以函數名稱來代表與使用 ( 呼叫 ) 提高程式的可讀性 方便程式除錯. 傳回值. 函式的變數. 函式的使用. 需要先定義 定義 資料型別 、 呼叫參數 與 動作. 型別 函式名稱 ( 呼叫參數 1, 呼叫參數 2 … . ) { 程式 ; }. 沒有傳回值請填 void. 程式開始. 返回. 呼叫 beep. 函式呼叫架構. #include <iostream> using namespace std; void beep() {

ursa
Download Presentation

物件導向程式設計

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 物件導向程式設計 CH6

  2. 函式 • 函式(function) • 執行一段會重複用到的功能 • 以函數名稱來代表與使用(呼叫) • 提高程式的可讀性 • 方便程式除錯

  3. 傳回值 函式的變數 函式的使用 • 需要先定義 • 定義資料型別、呼叫參數與動作 • 型別 函式名稱 (呼叫參數1,呼叫參數2….) • { • 程式; • } 沒有傳回值請填 void

  4. 程式開始 返回 呼叫beep 函式呼叫架構 • #include <iostream> • using namespace std; • void beep() • { • cout << "\a"; • } • int main() • { • 其他程式碼; • beep(); • }

  5. 函式宣告I 放哪裡差很多 • #include <iostream> • using namespace std; • void beep() • { • cout << "\a"; • } • int main() • { • 其他程式碼; • beep(); • } • #include <iostream> • using namespace std; • int main() • { • 其他程式碼; • beep(); • } • void beep() • { • cout << "\a"; • }

  6. 函式宣告II • #include <iostream> • using namespace std; • void beep(); • int main() • { • 其他程式碼; • beep(); • } • void beep() • { • cout << "\a"; • }

  7. 函式宣告III 有參數的 • #include <iostream> • using namespace std; • void FtoC(double f); • int main() • { • double x; • cout << “請輸入華氏溫度?”; • cin >> x; • FtoC(x); • } • void FtoC(double f) • { • cout << “攝氏”<< ((f-32)*5/9) << “度”; • }

  8. 變數的作用範圍 • 局部變數:函式內,其他函式無法使用 • 靜態局部變數 • 全域變數 • 外部變數

  9. static int number; //靜態局部變數 局部變數 • #include <iostream> • using namespace std; • void adding(); • int main() • { • int i; • adding(); • adding(); • for(i=1;i<=3;i++) • { • adding(); • } • } • void adding() • { • int number; • cout << "number=" << number++ << endl; • }

  10. 全域變數 • #include <iostream> • using namespace std; • double f; • void FtoC(); • int main() • { • cout << "請輸入華氏溫度?"; • cin >> f; • FtoC(); • } • void FtoC() • { • cout << "攝氏" << ((f-32)*5/9) << "度"; • }

  11. 全域變數 & 局部變數同名 範圍解析運算子 :: 存取全域變數

  12. 行內函式 • Inline function • 函數傳回值型別前加上inline加以定義 • 原則上會將函數內容完全替換到呼叫本體 • 執行效率加快 • 執行檔編譯後變大

  13. 巨集 • Macro • 將簡單運算式定義成巨集 • #define x-cube x*x*x 用x-cube來代表x連乘3次

  14. 標準函式庫-日期時間 【範例】:取得目前PC系統日期及時間 char sdate[9]; char stime[9]; _strdate_s(sdate); _strtime_s(stime); cout<<"目前日期:"<<sdate<<endl<<"現在時刻:"<<stime<<endl;

  15. 函式多載 • Overloading • 函式名稱可以重複 • 利用參數型別與個數加以區別

  16. 遞迴函式 • Recersive • 函式自己呼叫自己 • 需要設計結束條件或ctrl-c結束

More Related