世上最好的保鲜就是不断进步,让自己成为一个更好和更值得爱的人。
函数重载:同一个函数名在不同场景下可以具有不同的含义。
函数重载意义:方便的使用函数名。
函数重载的条件: 同一个作用域 参数个数不同 参数类型不同*
参数顺序不同(重要)
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
}
注意:
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);//二义性产生
}