C++ 中函數重載(Function Overloading)是指在同一個作用域內,可以有多個函數具有相同的名稱,但是它們的參數列表不同。函數重載的條件如下:
1. 函數名稱相同:函數重載的前提是函數名相同。
2. 參數列表不同:函數的參數列表必須不同,包括參數的類型、參數的個數或者參數的順序。
3. 返回值類型不同:C++ 不允許僅靠返回值類型的不同來實現函數重載。如果兩個函數的參數列表和函數名相同,但是返回值類型不同,編譯器會報錯。
4. const 修飾符:const 修飾符對于函數是否重載沒有影響,因為 const 修飾符只是函數簽名的一部分,并不影響函數是否重載。
示例:
```cpp
void print(int a);
void print(float a);
void print(double a, double b);
// 上面的例子演示了函數重載,print 函數名稱相同,但參數列表不同,因此實現了函數重載。
```
總之,函數重載的條件包括函數名稱相同、參數列表不同,在 C++ 中,函數重載實際上是通過改變函數的參數列表來區分不同的函數。