iT邦幫忙

2021 iThome 鐵人賽

DAY 15
0
自我挑戰組

少年DevOps的C++奇怪漂流系列 第 15

Day15-Overloading

函式多載(overloading),今天順著螞蟻書的順序先討論函式多載(overloading)與樣板(Template),這段英文講得很透徹甚麼是多載Overloading allows different function to have the same name, 本質就是除了名稱其他都是不同的,如返回值/參數類型/參數數量/程式邏輯,下面個範例第一個print函數沒有回傳值接收int當參數,第二個print函數有回傳值double並接受double當參數,第三個print函數接受兩個參數:其一指標常數字元其二一個控制內部迴圈的參數int,同時這三個print函數內部邏輯完全不同,這就是多載的精髓"只有名稱是一樣的其他都不一樣",最終結果如下圖二。

#include <iostream>
using namespace std;
 
void print(int i) {
   cout << " Here is int " << i << endl;
}
double print(double  f) {
   return f;
}
void print(char const *c, int j) {
   for (int i = 0; i < j; i++){
      cout << " Here is char* " << c << endl;
   }
}
 
int main() {
  print(10);
  cout << " Here is float " << print(10.0) << endl;
  print("ten",2);
  return 0;
}
  • Result
Here is int 10
Here is float 10
Here is char* ten
Here is char* ten

上一篇
Day14
下一篇
Day16-Template
系列文
少年DevOps的C++奇怪漂流30

尚未有邦友留言

立即登入留言