函数重载是什么??为什么要函数重载??函数重载可以做哪些
事??
函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。
重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好处。
首先我先解释名字空间这个概念。还是实例吧。
#include<iostream>
using namespace std;
int main()
{
cout<<"hello world"<<endl;
return 0;
}
这里std就是一个命名空间,标准输入输出流对象cin,cout都包含在std这个名字空间
里,而std又包含在iostream这个头文件中。当然了。我们也可以自定义名字空间。
如果没有定义std这个命名空间,那么:
std::cin>> 或者
std::cout<<
看下边的实例。
#include<iostream>
namespace A
{
int a = 10;
int b = 20;
}
namespace A //表示在A命名空间里增加内容
{
int c = 0;
}
int main()
{
std::cout<<a<<std::endl;
std::cout<<c<<std::endl;
return 0;
}
总之,函数重载只在c++中有,在c中不存在。
原博客:http://blog.csdn.net/peiyao456/article/details/51781315?locationNum=2&fps=1
里面还解释了为什么c不能有函数重载—关于符号表的东西,等需要的时候再看。