1、重载函数的函数类型是不同的
2、函数返回值不能作为函数重载的依据
3、函数重载是由函数名和参数列表决定的。
参数个数不同 参数类型不同 返回值类型不是函数重载的判断标准
int func(int x)
{
return x;
}
int func(int a, int b)
{
return a + b;
}
int func(const char* s)
{
return strlen(s);
}
int main01()
{
int c = 0;
c = func(1);
printf("c = %d\n", c);
c = func(1, 2);
printf("c = %d\n", c);
c = func("12345");
printf("c = %d\n", c);
return 0;
}
函数重载遇上函数默认参数(二义性)
void fun2(int a,int b,int = 0)
{
cout << a << b << endl;
}
void fun2(int a,int b)
{
cout << a << b << endl;
}
void main()
{
//fun2(1, 2);//存在二义性,调用失败,编译不能通过
system("pause");
}