多載化的概觀
與 C++ 語言中,您可以多載函式和運算子。多載化就提供指定之函式名稱相同的範圍中的多個定義的作法。編譯器會交給挑選適當版本的函式或運算子根據與其呼叫它的引數。例如,函式的最大值被視為多載的函式。它可以用於程式碼,如下所示:
// overview_overload.cpp
double max( double d1, double d2 )
{
return ( d1 > d2 ) ? d1 : d2;
}
int max( int i1, int i2 )
{
return ( i1 > i2 ) ? i1 : i2;
}
int main()
{
int i = max( 12, 8 );
double d = max( 32.9, 17.4 );
}
在第一個函式呼叫中,其中型別的兩個變數的最大值int被要求時,函式max( int, int )呼叫。不過,在第二個函式呼叫時,引數都屬於型別double,因此函式max( double, double )呼叫。