函数重载:很多人认为函数重载,不就是名字相同然后返回不一样类型的函数嘛;
这种理解不能说完全错误,但还是有些小问题。
函数重载最大的特点就是多个函数的函数名相同;那么c++编译器又是如何区分我
们要调用的函数到底是那个呢?
如果你思考到这里的话,应该不难理解为什么说函数的返回值不是函数重载的决定
因素了:当调用函数的时候,首先得把函数参数传进去,编译器才会去检索到底是
用哪一个函数的吧?换句话说,编译器无法预判你到底想要返回什么结果,只用得
知你传入参数是什么样子的,它才会自动检索匹配调用有相同参数的函数。
因此,我们不难得出结论:
函数重载是由函数名字和参数(类型/个数)决定的。
举个例子:
void myfun(int a, int b)
{
cout << "a = " << a <<endl;
cout << "b = " << b <<endl;
}
{
cout << "a = " << a <<endl;
cout << "b = " << b <<endl;
}
int myfun(int a, int b)
{
cout << "a = " << a <<endl;
cout <
{
cout << "a = " << a <<endl;
cout <