如果建立兩個或多個成員(函式)具有相同的名稱,但引數的數量或型別不同,則稱為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++中運算子過載的簡單例子。 在本範例中,定義了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