目錄
函數重載的含義
重載函數使用注意事項
幾種特殊情況
函數重載的含義
函數重載使得能夠用不同的參數列表調用多個同名的函數。可以通過函數重載設計一系列函數,它們完成相同的工作,但使用不同的參數列表。
函數重載的關鍵是函數的參數列表——也被稱為函數特征標。如果兩個函數的參數數目和類型相同,同時參數的排列順序也相同,則它們的特征標相同,而變量名是無關緊要的。C++允許定義名稱相同的函數,條件是它們的特征標不同。如果參數數目或參數類型不同,則特征標也不同。
例如,定義一組原型如下的print()函數:
void print(const char* str, int width);
void print(double d, int width);
void print(int i, int width);
void print(const char* str);
這幾個函數的函數名稱相同,但它們的特征標不同,因此可以這樣定義。在使用print()函數時,編譯器將根據參數類型和數目使用有相應特征標的原型。
print("cake", 3);//use print(const char* str, int width)
print(2.0, 3);// use print(double d, int width)
print(2, 3);