Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
全部都想学怎么办
CPP_PrimerPlus
提交
10f258a3
C
CPP_PrimerPlus
项目概览
全部都想学怎么办
/
CPP_PrimerPlus
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
CPP_PrimerPlus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
10f258a3
编写于
3月 27, 2022
作者:
全部都想学怎么办
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
上传新文件
上级
230fe303
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
38 addition
and
0 deletion
+38
-0
Ch8函数探幽/默认参数/默认参数.cpp
Ch8函数探幽/默认参数/默认参数.cpp
+38
-0
未找到文件。
Ch8函数探幽/默认参数/默认参数.cpp
0 → 100644
浏览文件 @
10f258a3
//下面介绍C++的另一项新内容——默认参数。
//默认参数指的是当函数调用中省略了实参时自动使用的一个值。
/*
* 如何设置默认值呢﹖必须通过函数原型。
由于编译器通过查看原型来了解函数所使用的参数数目,
因此函数原型也必须将可能的默认参数告知程序。
方法是将值赋给原型中的参数。
*/
//例如:
char
*
left
(
const
char
*
str
,
int
n
=
1
);
//注意:对于带参数列表的函数,必须从右向左添加默认值。
//也就是说,要为某个参数设置默认值,
//则必须为它右边的所有参数提供默认值:
int
harpo
(
int
n
,
int
m
=
4
,
int
j
=
5
);
//VALID正确
int
chico
(
int
n
,
int
m
=
6
,
int
j
);
//INVALID错误
int
groucho
(
int
k
=
1
,
int
m
=
2
,
int
n
=
3
);
//VALID正确
//例如,harpo()原型允许调用该函数时提供1个、2个或3个参数:
int
beeps
=
harpo
(
2
);
//same as harpo(2,4,5)
beeps
=
harpo
(
1
,
8
);
//same as harpo(1,8,5)
beeps
=
harpo
(
8
,
7
,
6
);
//no default arguments used
//实参按从左到右的顺序依次被赋给相应的形参,而不能跳过任何参数。
//因此,下面的调用是不允许的:
beeps
=
harpo
(
3
,
,
8
);
//invalid,doesn't set m to 4
/*
* 默认参数并非编程方面的重大突破,而只是提供了一种便捷的方式。
在设计类时您将发现,通过使用默认参数,可以减少要定义的析构函数、
方法以及方法重载的数量。
*/
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录