case 1、引用也可以作为重载条件。
case 2、函数重载碰到默认参数的情况,一般来说需要尽量避免。
case 1:
#include<iostream>
using namespace std;
//函数重载的注意事项
void func(int& a)
{
cout << "func(int &a)的调用" << endl;
}
void func(const int& a)
{
cout << "func(const int &a)的调用" << endl;
}
int main()
{
int a = 10;
func(a); //调用的第一个函数
func(10); //调用的第二个函数
return 0;
}
case 2:
#include<iostream>
using namespace std;
//函数重载的注意事项
void func2(int a)
{
cout << "func2(int a)的调用" << endl;
}
void func2(int a, int b=10)
{
cout << "func2(int a, int b)的调用" << endl;
}
int main()
{
func2(10); //出错,重载时触发二义性。因此应尽量避免默认参数
}