目录
重载函数的概念
重载函数展现
重载函数的分类
1.参数个数不同
2.参数的类型不同
3. 类型的顺序不同
函数的返回值类型与函数的重载无关
重载函数的概念
函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数或类型或类型顺序)不同,常用来处理实现功能类似数据类型不同的问题。
简而言之,就是函数的名字是一样的,在参数和类型,类型顺序上是不同的,这样的函数叫做重载函数。
重载函数展现
在C语言中不支持函数同名的情况的,而在C++中是支持函数同名的情况的;下面我们来看一下,重载函数的例子;
//函数重载
int max_t(int a, int b)
{return a > b ? a : b;
}
double max_t(double a, double b)
{return a > b ? a : b;
}
我分别定义了不同类型的函数来求两种不同类型变量的较大值, 但是两个函数的名字是相同的。
重载函数的分类
1.参数个数不同
话不多说,直接上代码:
#include<iostream>
using namespace std;
void fun()
{cout << "没有参数" << endl;
}
void fun(int a)
{cout << "含有一个参数" << endl;
}
int main()
{fun();cout << endl;fun(1);return 0;
}
2.参数的类型不同
#include<iostream>
using namespace std;
void fun(char a)
{cout << "参数为字符类型" << endl;
}
void fun(int a)
{cout << "参数为整形" << endl;
}
int main()
{fun('a');cout << endl;fun(1);return 0;
}
3. 类型的顺序不同
#include<iostream>
using namespace std;
void fun(char a,int b)
{cout << "字符->整形" << endl;
}
void fun(int a,char b)
{cout << "参数为整形->字符" << endl;
}
int main()
{fun('a',1);cout << endl;fun(1,'a');return 0;
}
函数的返回值类型与函数的重载无关
由图可知,参数相同的情况下,不同返回值的情况不会构成函数重载,判断函数是否构成重载只需要看函数的参数即可;