【C++学习】函数及分文件编写
一、函数定义
定义函数的五个步骤:
1.返回值类型,
2.函数名,
3.参数列表,
4.函数体语句,
5.return 表达式
//实例
int add(int a, int b)
{int sum = a + b;return sum;
}
//函数的常见样式:1.有参无返,2.无参无返,3.无参有返,4.有参有返
int 代表add函数的返回值是int类型
add为该函数的函数名
(int a,int b)表示函数接收a,b两个整形的形参
return sum 指这个函数最终返回一个名为num的整形数
注意:函数的声明,函数可以先声明再定义,可多次声明,只能定义一次
二、分文件编写
创建如下文件:
1.main.cpp文件,写main函数作为程序的主入口
2.swap.h自定义头文件
3.swap.cpp源文件

步骤:
1.编写main.cpp,搭建入口
#include <iostream> //标准输入输出控件
#include <iomanip>
#include <string> //使用string声明字符串时必须包含
#include <cstdlib> //汉化
using namespace std;int main()
{system("chcp 65001 >nul"); // 汉化return 0;
}
2.编写自定义头文件swap.h
// 此处需要与头文件名保持一致
#ifndef SWAP_H // 防止头文件重复包含(预处理指令)
#define SWAP_H#include <iostream> //标准输入输出控件
#include <iomanip>
#include <string> //使用string声明字符串时必须包含
#include <cstdlib> //汉化
using namespace std;void swap();//在头文件中声明函数,但不定义#endif // SWAP_H
3.编写源文件
// 注意,系统头文件使用<>包裹,自定义头文件使用""包裹
#include "swap.h"
void swap()
{int a = 0;int b = 0;cout << "请输入第一个数:";cin >> a; //cin接收键盘的输入cout << "请输入第二个数:";cin >> b;cout << "最大的数是:" <<( a > b ? a : b )<< endl;
}
4.在main.cpp导入自定义头文件,并调用swap函数
#include <iostream> //标准输入输出控件
#include <iomanip>
#include <string> //使用string声明字符串时必须包含
#include <cstdlib> //汉化
#include "swap.h" //引入自定义头文件
using namespace std;int main()
{system("chcp 65001 >nul"); // 汉化//调用swap函数swap();// 函数功能:输入两个数据,比较大小后将最大的输出return 0;
}
运行结果

三、task.json配置
继上一篇vscode配置c++开发环境,学习函数分文件编写时发现,原来的配置导致编译器只会编译当前的文件,作为源文件的swap.cpp未能编译.所以按照上篇配置环境并使用cmd命令窗口时,应该修改配置项如下(上一篇已做同步修改):
"${fileDirname}/*.cpp"代表编译根目录下所有cpp文件
{"version": "2.0.0","tasks": [{"label": "编译并弹出 cmd 窗口","type": "shell","command": "C:\\WINDOWS\\System32\\cmd.exe", // 直接调用 cmd 终端"args": ["/c", // cmd 的参数:执行完命令后关闭当前 cmd(不影响新窗口)// 完整的编译+运行命令(作为一个字符串传给 cmd)"g++ \"${fileDirname}/*.cpp\" -o \"${fileDirname}\\${fileBasenameNoExtension}.exe\" && start cmd /k \"${fileDirname}\\${fileBasenameNoExtension}.exe\""],"presentation": {"reveal": "never" // 隐藏 VS Code 内置终端},"group": {"kind": "build","isDefault": true}}]
}
