一、什么是函數(shù)的重載
兩個以上的函數(shù),具有相同的函數(shù)名,通過參數(shù)的類型和參數(shù)的個數(shù)不同。編譯器自行匹配,自動確定調(diào)用哪一個函數(shù)
二、函數(shù)重載的作用
C++允許功能相近的函數(shù)在相同的作用域內(nèi)以相同的函數(shù)名定義,從而形成重載,方便使用,某種層度上函數(shù)的重載也是C++三大特性之一的多態(tài)的一種形式
三、函數(shù)重載的應用場景
#include
//利用using指令打開std空間
//這樣命名空間std內(nèi)定義的所有標識符都有效(曝光)。
//就好像它們被聲明為全局變量一樣
using namespace std;
void function(int a)//自定義函數(shù),放在main函數(shù)前就可以省略函數(shù)的聲明
{
cout<<"這個是一個int型參數(shù)的函數(shù)使用";
return ;
}
void function(double a)//相同的函數(shù)名,通過參數(shù)的類型不同實現(xiàn)重載
{
cout<<"這個是一個double型參數(shù)的函數(shù)使用";
return ;
}
void function(int a,double a)//相同的函數(shù)名,通過參數(shù)的個數(shù)不同實現(xiàn)重載
{
cout<<"這個是一個int ,double型參數(shù)的函數(shù)使用";
return ;
}
void function(double a,int a)//相同的函數(shù)名,通過參數(shù)的順序不同實現(xiàn)重載
{
cout<<"這個是一個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ù)名稱必須相同。
參數(shù)列表必須不同(個數(shù)不同、類型不同、參數(shù)排列順序不同等)。
函數(shù)的返回類型可以相同也可以不相同。
僅僅返回類型不同不足以成為函數(shù)的重載。