#include<iostream>
#include<string>
using namespace std;
//引用作为重载的条件
void func(int &a) { //非常量引用
cout << " this is func" << endl;
}
void func(const int &a) { // 常量引用 const int &a = 10; 合法
cout << "const this is func" << endl;
}
//2函数重载碰到默认的参数
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() {
int a = 10;
func(a);
// func(10);
func2(a);
func2(10);
system(" pause");
return 0;
}
函数的重载注意事项:
只会根据三项内容进行重载:参数的个数、参数的类型、参数的顺序
参数默认值:
参数的默认值可以在函数的定义中也可以在函数的声明中,但不能同时有
从第一个有默认值的参数开始,后面都得有默认值
在调用具有默认参数的函数时, 若某个实参默认,其右边的所有实参都应该默认
//例如, 一个函数声明如下
int f(int i1 = 1, int i2 =2, int i3 = 3);
//调用函数 f()