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