[C++] 函式

函式 (function)

•  讓你可以「重複使用」某段程式碼

•  將細節 (運作方式) 包裝在副函式裡,使用者只需知道其輸入、輸出,不需管內部怎麼做,主函式只需不斷重複使用這些副函式

•  一個程式的功能 : 讀進輸入 → 內部運作 →  產生輸出

•  一個函式的功能 : 吃進參數 → 內部運作 → 回傳結果

•  一個程式就是一個大函式,一個程式從主函式開始,主函式結束

•  增加可讀性、可重複性

•  A callable subprogram

•  Abstraction (抽象化)

    •  隱藏 low - level 的細節
 
    •  給程式 high - level 的結構,讓 programmer 容易了解整個程式的流程
 
    •  Enables separable, independent development function (錯了修改 function 內容就好)

•  分主函式 (main function)、副函式 (sub functions)

C++ functions

•  傳入零個或多個參數,回傳零個或一個結果

•  函數是多對一

•  回傳值有型別

  

Function declaration , function prototype (函式宣告、函式原型)

•  描述函式之特徵  – 函式名稱、參數與其型別、回傳型別 (參數名稱可省略)

•  A function signature (or type signature, or method signature) defines input and output of functions or methods.

語法:
                               回傳值之型別 函式名稱 (參數型別 參數名稱) ; 

Function Definition (函式定義) 

•  描述回傳型別、函式名稱 、參數型別

•  給每個參數一個名稱 (不需要與函式宣告一致)

•  回傳型別、函式名稱 、參數型別需與函式宣告一致

語法:
                               回傳值之型別 函式名稱 (參數型別 參數名稱)
                               {                              
                                      /* 函式內容 */
                               } 

Function call (函式呼叫) - 在 expression 中使用

語法:              
                               a = x + factorial (f + g) ;

不必函式宣告的方法

•  在呼叫之前先定義函式 (把主函式寫在最下面)



留言

熱門文章