天天看點

C++入門——預設參數、占位參數和重載

參考連結

  1. https://www.bilibili.com/video/BV1et411b73Z?p=95

函數的預設參數

在C++中,函數的形參清單中的形參是可以有預設值的。

  1. 如果某個位置參數有預設值,那麼從這個位置往後,從左向右,必須都要有預設值
  2. 如果函數聲明有預設值,函數實作的時候就不能有預設參數

函數占位參數

作用

函數的形參清單裡可以有占位參數,用來做占位,調用函數時必須填補該位置。

文法

傳回值類型 函數名 (資料類型){}

例如:

占位參數還可以有預設參數

例如

函數重載

作用

函數名可以相同,提高複用性

函數重載滿足條件

  1. 同一個作用域下
  2. 函數名相同
  3. 函數參數類型不同或者個數不同或者順序不同

函數重載注意事項

  1. 函數的傳回值不可用作為函數重載的條件
  2. 引用作為重載條件

    int &a和const int &a可以作為重載條件

    例如

void func(int &a){} // 使用int a = 10; func(a);可以調用
void func(const int &a){} // 使用func(10);可以調用
           
  1. 函數重載碰到函數預設參數

    當函數重載碰到預設參數,出現二義性,報錯,盡量避免這種情況。

繼續閱讀