1、函数重载的含义
1.1、什么事函数重载
函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数。
#include<iostream>
using namespace std;
void print(int i)
{
cout << "print a interger: " << i << endl;
}
void print(string str)
{
cout << "print a string: " << str << endl;
}
int main()
{
print(12);
print("helloworld!");
return 0;
}
上面print(12)会去调用print(int ), print(“helloworld”)会去调用print(string)。
1.2、函数重载的优点
- 重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好。
- 类的构造函数跟类名相同,也就是说:构造函数都同名。如果没有函数重载机制,要想实例化不同的对象,那是相当的麻烦。
- 操作符重载,本质上就是函数重载,它大大丰富了已有操作符的含义,方便使用,如+可用于连接字符串等!
1.3、重载函数的条件
- 参数类型或者参数的个数不同。
- 返回值的不同不能被视为重载条件。
- 是否为常函数也不能视为重载条件。(常函数是指使用const关键字声明的函数)。
- 对于普通类型参数只有const、volatile的区别不能视为重载条件,但是如果参数是指针或引用类型,const、volatile的区别就可视为重载条件。