C++学习:函数特性

文章讨论了C++中函数参数的默认值设定,指出全部或部分指定默认值的规则,并展示了函数调用时如何覆盖默认值。此外,解释了函数重载的概念,即在同一作用域内函数名相同但参数列表不同的情况。文章还提醒了默认参数与重载结合使用可能导致的调用不明确问题,以及返回值不作为重载条件和浮点型参数的重载注意事项。
摘要由CSDN通过智能技术生成

函数参数缺省值:

1、全部指定:函数内部参数全部指定值 void fun(int a = 12. char c = 'c')

2、部分指定:就是有的值未指定值 这时候就是从右往左连续指定,中间不能有空缺,意思是只能在最左边有空缺

void fun1(int a , char c = 'c', float f = 123.333)

函数调用

1、对于有默认值的参数,可以不传递实参,传递实参的话就会覆盖掉默认值

例如 fun(123, 'g')就会覆盖掉原有的12和c,这里面c++会智能识别参数类型

2、没有默认值的参数要传递实参 fun1(123)

函数重载

在一个作用域内,函数名字相同,参数列表不同

1、参数类型不同 这俩条件为或的关系

2、参数个数不同

void fun(int a )
{
    cout << a << endl;
}

void fun(int a, int b)   //此时函数与上一个作用域相同 参数个数不同
{
    cout << a << ' ' << b << endl;
}

void fun(char c) //类型不同
{
    cout << c << endl;
}



int main() 
{
    //调用:标注字符
    fun('c');

    system("pause");
    return 0;
}

注意点

1、默认参数和重载结合使用,可能会造成调用不明确

void  fun1(int a, int b, int c = 0);
void  fun1(int a, int b);
int main()
{
    fun(1,2); //传递两个参数,编译正常,但运行时候会报错
}

2、返回值不作为函数重载的条件

int fun();

void fun(); //这种声明方式报重定义错误

3、参数是浮点型float,double的互为重载的函数,一定要注意参数传递

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值