當(dāng)前位置:首頁(yè) > IT課程問(wèn)答
一、什么是函數(shù)的重載
兩個(gè)以上的函數(shù),具有相同的函數(shù)名,通過(guò)參數(shù)的類(lèi)型和參數(shù)的個(gè)數(shù)不同。編譯器自行匹配,自動(dòng)確定調(diào)用哪一個(gè)函數(shù)
二、函數(shù)重載的作用
C++允許功能相近的函數(shù)在相同的作用域內(nèi)以相同的函數(shù)名定義,從而形成重載,方便使用,某種層度上函數(shù)的重載也是C++三大特性之一的多態(tài)的一種形式
三、函數(shù)重載的應(yīng)用場(chǎng)景
#include
//利用using指令打開(kāi)std空間
//這樣命名空間std內(nèi)定義的所有標(biāo)識(shí)符都有效(曝光)。
//就好像它們被聲明為全局變量一樣
using namespace std;
void function(int a)//自定義函數(shù),放在main函數(shù)前就可以省略函數(shù)的聲明
{
cout<<"這個(gè)是一個(gè)int型參數(shù)的函數(shù)使用";
return ;
}
void function(double a)//相同的函數(shù)名,通過(guò)參數(shù)的類(lèi)型不同實(shí)現(xiàn)重載
{
cout<<"這個(gè)是一個(gè)double型參數(shù)的函數(shù)使用";
return ;
}
void function(int a,double a)//相同的函數(shù)名,通過(guò)參數(shù)的個(gè)數(shù)不同實(shí)現(xiàn)重載
{
cout<<"這個(gè)是一個(gè)int ,double型參數(shù)的函數(shù)使用";
return ;
}
void function(double a,int a)//相同的函數(shù)名,通過(guò)參數(shù)的順序不同實(shí)現(xiàn)重載
{
cout<<"這個(gè)是一個(gè)double,int型參數(shù)的函數(shù)使用";
return ;
}
int main()
{
int a = 100;
double b = 99.9;
function(a);
function(b);
function(a,b);
function(b,a);
return 0;
}
總結(jié):
函數(shù)重載的規(guī)則:
函數(shù)名稱(chēng)必須相同。
參數(shù)列表必須不同(個(gè)數(shù)不同、類(lèi)型不同、參數(shù)排列順序不同等)。
函數(shù)的返回類(lèi)型可以相同也可以不相同。
僅僅返回類(lèi)型不同不足以成為函數(shù)的重載。