int fun1(int x,float y)
{
return 0;
}
//1.函數(shù)名相同,如果參數(shù)個(gè)數(shù)相同,參數(shù)類(lèi)型順序不同,該函數(shù)屬于重載函數(shù).
int fun1(float x,int y)
{
return 0;
}
//2.函數(shù)名相同,如果參數(shù)不同,參數(shù)類(lèi)型順序不同或者相同,該函數(shù)屬于重載函數(shù)
int fun1(float x,int y,int z)
{
return 0;
}
int fun1(int x,float y,int z)
{
return 0;
}
int fun1(float y)
{
return 0;
}
//3. 以上條件如果是重載函數(shù),如果這兩個(gè)函數(shù)返回值不同 這兩個(gè)函數(shù)也是重載函數(shù)
void fun1(float y,float y1)
{
}
/*void fun1(float y) //錯(cuò)誤 int fun1(float y)和 void fun1(float y)屬于同一個(gè)重載函數(shù)
{
return 0;
}
*/
//4.類(lèi)型轉(zhuǎn)換導(dǎo)致重載函數(shù)產(chǎn)生二義性
void fun1(int y)
{
}
int _tmain(int argc, _TCHAR* argv[])
{
fun1(0.5);//產(chǎn)生二義性,fun1函數(shù)
//重載里有兩個(gè)函數(shù)分別為
//fun1(int y)和 fun2(flaot y)
return 0;
}