C++ 速查手冊
8.8 - 多載函數
函數可以有多個參數版本,這樣的函數被稱為多載 (overload) ,例如
#include <iostream>
void do_something(int n1, int n2, int n3) {
std::cout << n1 + n2 + n3 << std::endl;
}
void do_something(double n1, double n2, double n3) {
std::cout << n1 + n2 + n3 << std::endl;
}
void do_something(int n1) {
std::cout << n1 << std::endl;
}
int main() {
do_something(10);
do_something(0.2, 4.5, 6.1);
do_something(3, 4, 5);
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u0808.cpp
功能:示範 C++ 的函數
作者:張凱慶*/
這裡定義了三個 do_something() 函數,有三種參數版本,第一個版本需要三個整數參數
void do_something(int n1, int n2, int n3) {
std::cout << n1 + n2 + n3 << std::endl;
}
第二個版本需要一個浮點數參數與兩個整數參數
void do_something(double n1, double n2, double n3) {
std::cout << n1 + n2 + n3 << std::endl;
}
第三個版本則只需要一個整數參數
void do_something(int n1) {
std::cout << n1 << std::endl;
}
不同的參數版本使相同名稱的函數能夠處理不同的資料型態 (data type) ,此例編譯執行結果如下
$ g++ u0808.cpp |
$ ./a.out |
10 |
10.8 |
12 |
$ |
相關教學影片