函数重载概念:
是函数的一种特殊情况,
C++
允许在
同一作用域中
声明几个功能类似
的同名函数
,这
些同名函数的
形参列表(参数个数 或 类型 或 类型顺序)不同
,常用来处理实现功能类似数据类型
不同的问题。
#include<iostream>
//同一作用域
using namespace std;
// 1、参数类型不同
int Add(int left, int right)
{
cout << "int Add(int left, int right)" << endl;
return left + right;
}
double Add(double left, double right)
{
cout << "double Add(double left, double right)" << endl;
return left + right;
}
// 2、参数个数不同
void f()
{
cout << "f()" << endl;
}
void f(int a)
{
cout << "f(int a)" << endl;
}
// 3、参数类型顺序不同
void f(int a, char b)
{
cout << "f(int a,char b)" << endl;
}
void f(char b, int a)
{
cout << "f(char b, int a)" << endl;
}
int main()
{
Add(10, 20);
Add(10.1, 20.2);
f();
f(10);
f(10, 'a');
f('a', 10);
return 0;
}
#include<iostream>
//不同作用域
using namespace std;
// 1、参数类型不同
int Add(int left, int right)
{
cout << "int Add(int left, int right)" << endl;
return left + right;
}
namespace bit2
{
double Add(double left, double right)
{
cout << "double Add(double left, double right)" << endl;
return left + right;
}
}
int main()
{
//不构成重载函数
Add(10, 20);
Add(10.1, 20.2);
Add(10, 20);
bit2::Add(10.1, 20.2);
return 0;