//============================================================================
// Name : 函数重载.cpp
// Author :
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
using namespace std;
void fun(int a, int b)
{
cout<<"1"<<endl;
}
void fun(float a, float b)
{
cout<<"2"<<endl;
}
void fun(int a)
{
cout<<"3"<<endl;
}
void fun(int a, int b, int c)
{
cout<<"4"<<endl;
}
/*
int fun(int a, int b)//返回值不同,其它都相同是不合法的重载函数
{
return a;
}
*/
int main()
{
fun(1, 2);
fun(1.2f, 2.3f);
fun(1);
fun(1, 2, 3);
//fun(1, 2);
return 0;
}
/*
* 如果返回类型不同,而函数名相同,形参也相同,则是不合法的,编译器会报语法错误
* 因为在函数调用的时候是没有返回值的信息的,所以在调用函数的时候也是无法判断究竟调用的是无返回值的函数,还是要调用有返回值的函数
* 所以是无法编译通过
*
*/