c++函式過載可以這樣簡單理解。
作者的話:
#include
void
print
(int
*pstart ,
int*pend )
;//宣告函式
void
print
(char
*pstart ,
char
*pend )
;//宣告函式
intmain()
;//定義乙個int型陣列。
char chararrar[x]=;
//定義乙個char型陣列。
int*pint = intarrar;
//定義乙個int型指標變數
char
*pchar = chararrar;
//定義乙個char型指標變數
print
( intarrar , intarrar +5)
;//呼叫函式1
print
( chararrar , chararrar +5)
;//呼叫函式2
return0;
}void
print
(int
*pstart ,
int*pend )
std::cout << std::endl;
}void
print
(char
*pstart ,
char
*pend )
std::cout << std::endl;
}
可見兩個函式的名稱均為"print" ,並且返回值均為void。
但是他們的引數型別不同,乙個為int整型,乙個為char字元型。
故在這兩個函式被呼叫時,會依據起引數型別選擇性呼叫第一還是第二個函式。
這就是c++函式過載的一種情況。
另一種情況是函式名稱相同,但是引數數目不同。
下面展示例題:
#include
void
calc
(double a )
;//宣告
void
calc
(double a ,
double b )
;//宣告
void
calc
(double a ,
double b ,
double c)
;//宣告
intmain()
std::cin >> a[i]
;//賦值。
i++;}
switch
(i)//判斷引數數目進行呼叫
return0;
}void
calc
(double a )
//輸入乙個數字會輸出他的平方。
void
calc
(double a ,
double b )
//輸入兩個數字會輸出他們的乘積。
void
calc
(double a ,
double b ,
double c)
//輸入三個數字會輸出他們的和。
很明顯這裡有三個名稱為calc函式。
但是他們的函式引數數目不同(乙個為1個,乙個為2個,乙個為3個)。
簡單的來說,函式的過載就是函式名相同,但是引數的個數和型別不同。
你的點讚是對我的最大鼓舞。>^ _ ^<(瘋狂暗示)(手動滑稽)
python新手入門 函式
2019 5 25 魚c教程19 20課 全域性變數與區域性變數 def discounts price,rate final price price rate return final price old price float input 請輸入原價 rate float input 請輸入折扣...
Python新手入門之函式
函式的定義 函式就是執行特定的任務和特定功能的一段 函式的作用 復用 隱藏實現細節 提高可維護性 提高可讀性便於除錯 函式的建立 def 函式名 輸入引數 函式體 return 函式的引數傳遞 def sun a,b print a a print b b return a b print sun ...
Python新手入門之函式(一)
1.1 定義函式 使用關鍵字def告訴python你要定義函式,向python指出了函式名,還可能在括號內指出函式為完成其任務需要什麼樣的資訊。簡單示例如下 文件字串用三引號括起,python使用它們來生成有關程式中函式的文件。行print hello 是函式體內的唯一一行 greet user 只...