函數(shù)重載允許在一個(gè)類或結(jié)構(gòu)中創(chuàng)建同名但參數(shù)列表不同的多個(gè)函數(shù),針對(duì)不同的參數(shù)組合提供特定行為。語法如下:定義返回類型、函數(shù)名和第一個(gè)參數(shù)列表。定義返回類型、函數(shù)名和第二個(gè)參數(shù)列表。可繼續(xù)定義更多具有不同參數(shù)列表的重載函數(shù)。
C++ 函數(shù)重載:定義、語法和實(shí)戰(zhàn)
定義
函數(shù)重載允許在一個(gè)類或結(jié)構(gòu)中創(chuàng)建同名但具有不同簽名(參數(shù)列表不同)的多個(gè)函數(shù)。每個(gè)重載函數(shù)都將針對(duì)不同的參數(shù)結(jié)合提供特定的行為。
語法
函數(shù)重載的語法如下:
return_type function_name(parameter_list_1); return_type function_name(parameter_list_2); ... return_type function_name(parameter_list_n);
登錄后復(fù)制
其中:
return_type
是函數(shù)的返回類型。function_name
是函數(shù)的名稱。parameter_list_i
是第 i 個(gè)重載函數(shù)的參數(shù)列表。
實(shí)戰(zhàn)案例
考慮以下示例:
#include <iostream> using namespace std; // 計(jì)算圓的面積 double area(double radius) { return 3.14 * radius * radius; } // 計(jì)算矩形的面積 double area(double length, double width) { return length * width; } int main() { cout << "圓的面積: " << area(5) << endl; cout << "矩形的面積: " << area(5, 10) << endl; return 0; }
登錄后復(fù)制
在這個(gè)例子中,我們定義了兩個(gè) area
函數(shù)重載:
area(double radius)
:計(jì)算圓的面積,接受一個(gè) double 參數(shù)(半徑)。
area(double length, double width)
:計(jì)算矩形的面積,接受兩個(gè) double 參數(shù)(長和寬)。
main
函數(shù)調(diào)用這兩個(gè)重載函數(shù)。因?yàn)閰?shù)的數(shù)量和類型不同,編譯器可以分辨出哪個(gè) area
函數(shù)重載應(yīng)該被調(diào)用。