函数重载满足条件:
1.在同一个作用于下
2.函数名称相同
3.函数参数类型不同,或者个数不同,或者顺序不同
注意事项:
1.引用作为重载条件
2.函数重载碰到默认参数 (尽量避免出现)
#include <iostream>
using namespace std;
//1.引用作为函数重载
void func1(int &a)
{
cout<<"func1(int &a)"<<endl;
}
void func1(const int &a)
{
cout<<"func1(const inrt &a)"<<endl;
}
//2.函数重载碰到默认函数
void func2(int a,int b=10)
{
cout<<"func2(int a,int b=10)"<<endl;
}
void func2(int a)
{
cout<<"func2(int a)"<<endl;
}
int main()
{
std::cout << "Hello, World!" << std::endl;
//1.引用作为函数重载
int a=10;
const int b=10;
func1(a);
func1(b);
func1(10); //常量10 对重载函数的调用
cout<<"*********************************"<<endl;
//2.函数重载碰到默认函数
//func2(10); //出现二义性,要避免默认参数导致的函数重载错误
func2(10,10);
return 0;
}