1、函数重载的概念
一个项目当中,有重名函数,通过设置参数不同,能够实现调用不同的功能。
#include <iostream>
#include <string>
using namespace std;
//函数重载
//一个项目中 重名函数 通过参数不同 能够实现不同的功能
int add(int a, int b)
{
return a + b;
}
int add(int a, int b, int c)
{
return a + b + c;
}
int add(int a, int b, int c, int d)
{
return a + b + c + d;
}
int main()
{
cout << add(1, 2) << endl;
cout << add(1, 2, 3) << endl;
cout << add(1, 2, 3, 4) << endl;
return 0;
}
2、构造函数重载的条件
参数不同分为参数数量不同和 参数类型不同
int add(int a, int b);
int add(int a, int b,int c);//参数数量不同
int add(double a, double b); //参数类型不同
3、函数重载容易导致的二义性
#include <iostream>
#include <string>
using namespace std;
//函数重载
//一个项目中 重名函数 通过参数不同 能够实现不同的功能
int add(int a, int b)
{
return a + b;
}
int add(float a, float b)
{
return a + b;
}
int main()
{
cout << add(1, 2) << endl;
cout << add(1.5, 2.4) << endl; //报错 默认double 不能识别为float还是int
return 0;
}
4、解决方法
强转类型
增加函数的重载