目录
一、缺省参数
1、定义
缺省参数:缺省参数是指我们在写函数时,可以对参数进行给默认值的操作,在调用时,如果没有传值,那么就用默认的参数执行函数。
例如:
运行结果
2、部分缺省
全缺省:所有参数都是缺省参数 部分缺省:部分参数是缺省参数
我们除了可以像上例一样,写成全缺省外,我们也可以写部分缺省。
注意:写部分缺省参数时,缺省参数只能放在后面,若是放在前面会有歧义。
冷笑话:做人不能像缺省参数一样(可有可无,排在后面╯︿╰)
例:
运行结果:
缺省参数要在后面
3、声明和定义分离
在写声明和定义分离的带缺省参数函数时,只有声明要给缺省参数。
因为
1、如果声明和定义都给的话万一给的不一样,冲突不好处理
2、如果只在定义中给在头文件中就看不到了,不方便使用
(C++支持,只包头文件就可以调用函数)
只有声明中要写缺省参数
若声明定义都给
若只有定义给
两者都会报错
二、函数重载
函数重载:C++中支持声明和定义同名函数(只要参数不同), 这些同名函数就构成函数重载。
这里的参数不同包括参数的类型不同,个数不同,顺序不同。
类型不同:
这里的func函数就构成了函数重载,运行结果如下:
个数不同:
运行结果如下:
顺序不同:
运行结果:
注意:定义函数重载时不能有二义性
此时代码是可以运行的,结果如下:
因为传参过程中1.1会隐式类型转换为int,所以函数可以运行。
加一个重载函数后:
编译器不知道你是想用doule那个函数函数int那个函数从而导致二义性,所以添加函数重载时可能会导致一些原本可以运行的代码出现二义性。
感谢大家观看!(๑•̀ㅂ•́)و✧