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、函數重載的原理(瞭解)