函数的重载
在我的理解中,重载函数就像是上下都是广口的漏斗,他们的函数名相同,但是参数类型,或参数个数不同,最后产生与参数类型对应的结果。
note:
- 对于重载函数来说,他们只有参数的类型或参数的个数不同,与函数的返回值类型无关。
重载与const
重复
int add(int);
int add(const int);//与上面函数重复
int sum(int *);
int sum(int *const);//与上面函数重复
不重复
int add(int &);
int add(const int &);//与上比是新函数
int add(int *);
int add(const int *);//与上比是新函数
eg1:在vs2015编译调试过后,未发现错误
#include<iostream>
using namespace std;
double add(double &num1, double &num2);
int add(int &num1, int &num2);
int add(const int &num1, const int &num2);
int add(const int *num1, const int *num2);
int add(int *num1, int *num2);
int main()
{
return 0;
}
double add(double & num1, double & num2)
{
double temp = num1 + num2;
return temp;
}
int add(int &num1, int &num2)
{
int temp = num1 + num2;
return temp;
}
int add(const int & num1, const int & num2)
{
int temp = num1 + num2;
return temp;
}
int add(const int *num1, const int *num2)
{
int temp = *num1 + *num2;
return temp;
}
int add(int * num1, int * num2)
{
int temp = *num1 + *num2;
return temp;
}
虽说重载函数,可以减少一些记忆量,但也要视情况而定。
网友评论