1.C++中可以使用const来重载函数。
2.C++中使用重载函数时要避免,函数中 的默认参数 ,引起二义性。
3.函数有默认参数值时,避免在函数声明和函数定义时都在参数列表中赋默认参数,只需要给其中一个赋值即可。
4.此两个函数可以同时存在,但是不可以重载一个函数:void myFunc801(int a) ;这三个不能重载,会有二义性。
对于以下代码:
传参的时候,如果传的是数字10,调用的是const修饰的,传的变量a,调用的是int&a。
int &a = a;
const int& a = 10;
void myFunc801(int& a) {
cout << "myfunc(int &a) invoke" << endl;
}
void myFunc801(const int& a) {
cout << "myfunc(const int &a) invoke" << endl;
}
void test802() {
int a = 10;
myFunc801(a); //myfunc(int &a) invoke
myFunc801(20); //myfunc(const int &a) invoke
}
int main() {
test802();
return 0;
}