c++的分文件编写

前言

在C++中,你可以将代码分割成多个文件来提高可维护性和组织性。分割文件有助于将代码模块化,使大型项目更易于管理。以下是C++中关于分文件的一些规则和概念:

理论知识

头文件(Header Files): 头文件通常具有 .h 或 .hpp 的扩展名。它们包含声明(例如类、函数和变量的声明),供其他文件在编译时引用。头文件应该包含防范重复包含的预处理指令,例如头文件保护宏(#ifndef、#define、#endif 预处理指令)来防止重复包含。头文件只应该包含声明,不应该包含实现。

源文件(Source Files): 源文件包含实现,通常具有 .cpp 的扩展名。这里是实际代码的地方,包括函数和类的实现。源文件包含头文件并提供实现细节。每个源文件都可以被独立编译成一个目标文件。

编译单元(Compilation Units): 一个编译单元是一个包含源文件和其相关的头文件的逻辑单元。在大多数情况下,一个编译单元对应一个源文件。编译单元被独立编译成一个目标文件,然后在链接阶段组合在一起。

命名空间(Namespaces): 命名空间是用来避免命名冲突的机制。通过将相关的类、函数等放在一个命名空间中,可以确保它们的名称不会与其他地方的名称冲突。

链接器(Linker): 在编译后,编译器生成了多个目标文件。链接器负责将这些目标文件合并成最终的可执行程序。链接器解决符号引用,将不同编译单元中的符号关联起来。

分离式编译(Separate Compilation): C++ 支持分离式编译,这意味着你可以将程序分成多个源文件,每个文件可以独立编译。这样,当你修改一个源文件时,只需要重新编译它,而不必重新编译整个项目。

实践

这是我的 c++ 目录

我想要在 hello.cpp 文件下使用 swap.cpp 下的函数
fun.h 文件

复制代码
#include<iostream>

using namespace std;


// 函数的声明
void fun(void);

swap.cpp 文件

复制代码
#include"fun.h"

void fun(void)
{
	cout << "啦啦啦啦" << endl;
}

hello.cpp 文件

复制代码
#include<iostream>
#include<string>
using namespace std;

#include"fun.h"

int main()
{
	fun();
	return 0;
}
相关推荐
郝学胜-神的一滴2 分钟前
[ 力扣 1124 ] 解锁最长良好时段问题:前缀和+哈希表的优雅解法
java·开发语言·数据结构·python·算法·leetcode·散列表
戴西软件3 分钟前
戴西CAxWorks.VPG车辆工程仿真软件|假人+座椅双调整 汽车仿真效率直接拉满
java·开发语言·人工智能·python·算法·ui·汽车
北漂Zachary4 分钟前
PHP vs C++ vs 易语言:三大语言对比解析
开发语言·c++·php
Tairitsu_H5 分钟前
C++入门指南:从基础语法到核心特性全解析
c++·算法·基础
Pentane.9 分钟前
力扣HOT100:T.1 两数之和|循环遍历算法笔记及打卡(12/100)
c++·笔记·算法·leetcode
FeBaby10 分钟前
使用mat 分析java OOM问题
java·开发语言
王老师青少年编程11 分钟前
csp信奥赛C++高频考点专项训练之贪心算法 --【线性扫描贪心】:士兵站队
c++·算法·贪心算法·csp·信奥赛·线性扫描贪心·士兵战队
柠檬071114 分钟前
记录bug :C++调用python 路径问题
c++·python·bug
无限进步_14 分钟前
二叉树的中序遍历(非递归实现)
开发语言·数据结构·c++·windows·算法·visual studio
王老师青少年编程16 分钟前
csp信奥赛C++高频考点专项训练之贪心算法 --【线性扫描贪心】:糖果传递
c++·刷题·贪心·csp·信奥赛·线性扫描贪心·糖果传递