函數(shù)的重載
在我的理解中番宁,重載函數(shù)就像是上下都是廣口的漏斗,他們的函數(shù)名相同赖阻,但是參數(shù)類型蝶押,或參數(shù)個數(shù)不同,最后產(chǎn)生與參數(shù)類型對應(yīng)的結(jié)果火欧。
note:
- 對于重載函數(shù)來說棋电,他們只有參數(shù)的類型或參數(shù)的個數(shù)不同,與函數(shù)的返回值類型無關(guān)苇侵。
重載與const
重復(fù)
int add(int);
int add(const int);//與上面函數(shù)重復(fù)
int sum(int *);
int sum(int *const);//與上面函數(shù)重復(fù)
不重復(fù)
int add(int &);
int add(const int &);//與上比是新函數(shù)
int add(int *);
int add(const int *);//與上比是新函數(shù)
eg1:在vs2015編譯調(diào)試過后赶盔,未發(fā)現(xiàn)錯誤
#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;
}
雖說重載函數(shù),可以減少一些記憶量榆浓,但也要視情況而定于未。