C++ Primer Plus书之--C++ 默认参数和函数重载

本文详细介绍了C++中的默认参数和函数重载。默认参数允许在函数调用时省略某些参数,而函数重载则通过不同的参数列表实现同名函数的多种功能。文中给出了多个示例来解释这两者的工作原理,并强调了参数匹配和类型转换在重载中的重要性。
摘要由CSDN通过智能技术生成

默认参数

默认参数指的是当函数调用中省略了实参时自动使用的一个值,例如:

void wow(int n);

设置n有默认值1, 那么当调用wow()的时候相当于wow(1).

如何设置默认值呢? 通过函数原型, 例如:

char * left(const char * str, int n = 1);

这个函数原型就声明了left的第二个参数的默认值是1. 如果省略了参数n, 则默认值是1, 否则, 传递的值将覆盖1.

对于带参数列表的函数, 必须从右向左添加默认值, 也就是说, 要为某个参数设置默认值, 则必须为它右边的所有参数提供默认值:

// 合法的
int harpo(int n , int m = 4, int j = 5);

// 合法的
int groucho(int k = 1, int m = 2, int n = 3);

// 非法的, 因为没有将j设置默认值
int chico(int n, int m = 6, int j);

那么harpo的调用方法:

// 相当于harpo(2, 4, 5);
beep = harpo(2);

// 相当于harpo(1, 8, 5)
beep = harpo(1, 8);

// 没有使用默认值
beep = harpo(6, 7, 8);

实参按从左到右的顺序依次被

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值