前言:昨天Day07聊到函數的回傳值需要定義data type資料型態。
(關於如何區分資料型態請搭Day02直通車)
這大概是底層語言最有趣的部分之一了。
在function裡,有兩種parameter參數
講起來很繞口對不對,趕快來看以下範例:
//這邊的int a, int b是形式上的參數
int sum(int a, int b){
return a + b;
}
int main(){
sum(4, 2); //這裡稱為實際參數也是argument,實際的數字是這邊輸入
}
記得參數也要配上適當的資料型態data type,例如下面這樣就行不通:
int A(string a, string b){
return a - b;
}
因為int A()表示只能輸出int,a - b
也無法用string表示,如果在呼叫這個function時寫這樣A(apple, banana);
,裡面是字串,會出現error。
也可以設定一個default parameter value,這樣沒有argument的時候就會自動執行。
void function(string city = "Taipei"){
cout << city << endl;
}
int main(){
function(); //會自動輸出Taipei喔
}
目標:用function記錄一天三餐吃了什麼,及總共多少錢。
(此為混合參數,參數的資料型態不同)
void mydiet(string breakfast, string lunch, string dinner, int price){
cout << breakfast << ", " << lunch << ", " << dinner << ". Price = " << price;
}
int main(){
mydiet("bacon and egg", "Pork fried rice", "dumplings", 300);
}
Output:bacon and egg, Pork fried rice, dumplings. Price = 300
Reference: geeksforgeeks, CodeBeauty(Youtube), W3school