int fun1(int x,float y)
{
return 0;
}
//1.函數名相同,如果參數個數相同,參數類型順序不同,該函數屬于重載函數.
int fun1(float x,int y)
{
return 0;
}
//2.函數名相同,如果參數不同,參數類型順序不同或者相同,該函數屬于重載函數
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. 以上條件如果是重載函數,如果這兩個函數返回值不同 這兩個函數也是重載函數
void fun1(float y,float y1)
{
}
/*void fun1(float y) //錯誤 int fun1(float y)和 void fun1(float y)屬于同一個重載函數
{
return 0;
}
*/
//4.類型轉換導致重載函數產生二義性
void fun1(int y)
{
}
int _tmain(int argc, _TCHAR* argv[])
{
fun1(0.5);//產生二義性,fun1函數
//重載里有兩個函數分別為
//fun1(int y)和 fun2(flaot y)
return 0;
}