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