一、什么是函数的重载
两个以上的函数,具有相同的函数名,通过参数的类型和参数的个数不同。编译器自行匹配,自动确定调用哪一个函数
二、函数重载的作用
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;
}
总结:
函数重载的规则:
函数名称必须相同。
参数列表必须不同(个数不同、类型不同、参数排列顺序不同等)。
函数的返回类型可以相同也可以不相同。
仅仅返回类型不同不足以成为函数的重载。