C++重載

如果創建兩個或多個成員(函數)具有相同的名稱,但參數的數量或類型不同,則稱為C++重載。 在C++中,我們可以重載:

  • 方法
  • 構造函數
  • 索引屬性

這是因為這些成員只有參數。

C++中的重載類型有:

  • 函數重載
  • 運算符重載

C++函數重載

在C++中,具有兩個或更多個具有相同名稱但參數不同的函數稱為函數重載

函數重載的優點是它增加了程式的可讀性,不需要為同一個函數操作功能使用不同的名稱。

C++函數重載示例

下麵來看看看函數重載的簡單例子,修改了add()方法的參數數量。

#include <iostream>
using namespace std;
class Cal {
    public:
static int add(int a,int b){
        return a + b;
    }
static int add(int a, int b, int c)
    {
        return a + b + c;
    }
};
int main(void) {
    Cal C;
    cout<<C.add(10, 20)<<endl;
    cout<<C.add(12, 20, 23);
   return 0;
}

執行上面代碼,得到以下結果 -

30
55

C++操作符重載

操作符重載用於重載或重新定義C++中可用的大多數操作符。 它用於對用戶定義數據類型執行操作。

運算符重載的優點是對同一運算元執行不同的操作。

C++操作符重載示例

下麵來看看看在C++中運算符重載的簡單例子。 在本示例中,定義了void operator ++ ()運算符函數(在Test類內部)。

#include <iostream>
using namespace std;
class Test
{
   private:
      int num;
   public:
       Test(): num(8){}
       void operator ++()
       {
          num = num+2;
       }
       void Print() {
           cout<<"The Count is: "<<num;
       }
};
int main()
{
    Test tt;
    ++tt;  // calling of a function "void operator ++()"
    tt.Print();
    return 0;
}

執行上面代碼,得到以下結果 -

The Count is: 10

上一篇: C++多態 下一篇: C++重載