0%
前言
C++函数学习笔记
函数的作用
函数的定义
有参数有返回值
1 2 3 4 5 6
| 返回值类型 函数名(参数列表) { ...
return 返回值; }
|
无参数有返回值
1 2 3 4 5 6
| 返回值类型 函数名() { ...
return 返回值; }
|
有参数无返回值
无参数无返回值
函数的声明
- 只声明函数,不初始化函数体,函数的声明需要放在函数的定义前
- 在函数的声明的后面再次定义函数体
- 函数的声明可以有多次,但函数的定义只能有一次
1 2 3 4 5 6 7 8
| 返回值类型 函数名(参数列表);
返回值类型 函数名(参数列表) { ... return 返回值; }
|
函数的调用
参数的传递
值传递
1 2 3 4 5 6 7 8 9 10 11
| 返回值类型 函数名(数据类型 形参名) { return 返回值; }
int main() { 数据类型 变量名 = 值; 函数名(变量名); return 0; }
|
地址传递
1 2 3 4 5 6 7 8 9 10 11
| 返回值类型 函数名(数据类型 *形参名) { return 返回值; }
int main() { 数据类型 变量名 = 值; 函数名(&变量名); return 0; }
|
引用传递
1 2 3 4 5 6 7 8 9 10 11
| 返回值类型 函数名(数据类型 &形参名) { return 返回值; }
int main() { 数据类型 变量名 = 值; 函数名(变量名); return 0; }
|
形参的默认值
1 2 3 4
| 返回值类型 函数名(数据类型 形参名 = 默认值) { return 返回值; }
|
- 注意事项
- 如果某个形参有了默认值,其后面的形参也必须都有默认值
- 函数的声明与函数的定义,只能有一个形参有默认参数
函数的占位参数
1 2 3 4
| 返回值类型 函数名(数据类型) { return 返回值; }
|
占位参数的默认参数
1 2 3 4
| 返回值类型 函数名(数据类型 = 默认值) { return 返回值; }
|
函数的重载
- 定义多个同名函数,函数的参数列表不同
- 参数不同的满足条件:类型不同、个数不同、顺序不同
1 2 3 4 5 6 7 8 9
| 返回值类型 同名函数名() { return 返回值; }
返回值类型 同名函数名(数据类型 形参名) { return 返回值; }
|
函数的分文件编写
创建一个头文件
1 2 3 4
| #include <iostream> using namespace std;
返回值类型 函数名(参数列表);
|
创建一个源文件
- 创建一个
.cpp
结尾的源文件,用于写函数的定义
- 包含对应的头文件,引入自定义头文件时使用
""
1 2 3 4 5 6 7 8 9 10
| #include <iostream> using namespace std; #include "头文件名.h"
返回值类型 函数名(参数列表) { ... return 返回值; }
|
使用分文件编写的函数
1 2 3 4 5 6 7 8 9 10
| #include <iostream> using namespace std; #include "头文件名.h"
int main() { 函数名(参数); return 0; }
|
完成
参考文献
哔哩哔哩——黑马程序员