1、函数重载的概述
函数重载:同一个函数名在不同场景下可以具有不同的含义
重载的意义:C++允许功能相近的函数在相同的作用域内以相同的函数名定义,从而形成重载,方便使用。
函数重载的条件: 同一个作用域 参数个数不同 参数类型不同 参数顺序不同(重要)
void myFunc(int a)
{
cout<<"int的myFunc"<<endl;
}
void myFunc(int a,int b)
{
cout<<"int,int 的myFunc"<<endl;
}
void myFunc(int a,double b)
{
cout<<"int , double的myFunc"<<endl;
}
void myFunc(double a,int b)
{
cout<<"double,int的myFunc"<<endl;
}
void test06()
{
myFunc(10);//int
myFunc(10,20);//int int
myFunc(10,20.2);//int double
myFunc(10.1,20);//double int
}
2、注意:
1、函数的返回值类型 不能作为 函数重载的依据。
2、函数重载和默认参数一起使用,需要额外注意二义性问题的产生
void myFunc02(int a)
{
cout<<"int的myFunc02"<<endl;
}
void myFunc02(int a,int b=10)//默认参数
{
cout<<"int,int 的myFunc02"<<endl;
}
void test07()
{
//myFunc02(int a) 和 myFunc02(int a,int b=10)都能识别
myFunc02(10);//二义性产生
}
3、函数重载的原理(了解)