C++ 中的多个代码文件
本文是关于在单个 C++ 程序中使用多个文件。 对于较大且冗长的项目来说,将所有代码写入一个文件中会变得很麻烦,因此我们将学习如何分离项目中的文件并使其更易于管理且易于重构。
到目前为止,在您的编程生涯中,您已经将所有代码编写在一个文件中。 主要功能、原型、系统功能、附加功能,应有尽有!
这不是组装(大型)编程项目的最佳方法。 您将学习将编程项目分解为多个文件,使其更有组织性、安全性、可移植性、可修改性和重新编译速度更快。
这背后的原因有很多,但由于时间和信息过多,我们无法详细说明。
在 C++ 程序中使用多个代码文件
我们将从一个示例文件开始,该示例文件将所有内容都包含在一个文件中,然后我们将分离该文件。
示例代码:
#include <iostream>
using namespace std;
void helloFunc();
int main()
{
helloFunc();
return 0;
}
void helloFunc()
{
cout<<"Hello World"<<endl;
}
在此代码片段中,您可以看到我们首先声明了 helloFunc() 函数,然后在程序的稍后阶段定义了它。 然后我们就写完了main函数。
这可以在三个文件中完成。 我们将在头文件中声明该函数并在cpp文件中定义它。
示例代码(hello.h):
#include <iostream>
using namespace std;
void helloFunc();
Example code (hello.cpp):
#include "hello.h"
void helloFunc()
{
cout<<"Hello World"<<endl;
}
Example code (main.cpp):
#include "hello.h"
int main()
{
helloFunc();
return 0;
}
让我们从头文件 hello.h 开始。 头文件包含所有内容的定义,例如函数定义、任何结构或类定义或任何常量定义。
这个.h扩展名告诉编译器这个文件不被编译; 它就像一个文本文件,任何人都可以读取。 这意味着头文件是一个文档文件。
如果将来任何程序员想要使用某些函数,只需要检查函数的原型即可,不需要详细了解函数定义。 最后,模板代码也应该位于头文件中。
现在是 cpp 文件,其中包含头文件中声明的函数定义。 CPP文件告诉编译器这个文件要被编译并转换成二进制文件。
您的代码的完整性受到保护,未经您的许可,任何人都无法对其进行修改。 这意味着这种代码分离也确保了代码文件的安全性。
这种技术背后的另一个原因是便携性。 例如,您编写了一个二分搜索代码,稍后可以在许多其他程序中使用。 如果您有这些单独的函数文件,则可以在任何其他项目中轻松使用此类函数。
最后,主文件仅包含主函数,并在顶部包含头文件。 这个文件只包含主函数,它只调用所有函数,没有其他函数。
相关文章
在 C++ 中读取和写入文件位
发布时间:2023/08/25 浏览次数:156 分类:C++
-
在 C++ 中,诸如文本文件压缩之类的过程需要读取文件中的位并将其写入文件中。 在本文中,您将学习如何在 C++ 中毫无错误地读取或写入文件位。
在 C++ 中获取文件扩展名
发布时间:2023/08/25 浏览次数:66 分类:C++
-
文件扩展名是指文件名的最后部分,其中包含有关文件中保存的数据的信息。在 C++ 中,我们可以对包含 C++ 代码的文件使用 .cpp 或 .cxx 扩展名。
检查 MAC 上的 GCC 版本
发布时间:2023/08/25 浏览次数:108 分类:C++
-
GCC 编译器是一种将计算机程序的源代码转换为另一种语言(例如汇编语言或机器代码)的程序。检查 MAC 上的 GCC 版本
用 C++ 计算运行中位数
发布时间:2023/08/25 浏览次数:153 分类:C++
-
这是有关如何有效计算运行中位数的文章。 我们将从运行中位数的详细描述开始,然后是算法和一些实现注意事项。运行中位数
C++ 中的广度优先搜索迷宫
发布时间:2023/08/25 浏览次数:97 分类:C++
-
广度优先搜索是一种用于遍历或搜索树或图数据结构的算法。 在每个节点,算法在访问父节点之前先访问子节点。换句话说,它从每个树级别的当前位置向外扩展,而不是向上移动到父级并向
C++ 中的队列数组
发布时间:2023/08/25 浏览次数:86 分类:C++
-
本节将讨论具有可变大小的 C++ 全局队列数组。C++ 中的队列数组 队列是一种线性数据结构,允许在一端(称为头)插入新元素,并从另一端(称为尾)提取元素。
用 C++ 读取 JSON 文件
发布时间:2023/08/25 浏览次数:145 分类:C++
-
本文将解释创建 JSON 文件,然后在编译器中从该文件读取数据的概念。 我们将使用 C++ 语言和 jsoncpp 库。本文使用Linux操作系统来完成上述任务。 不过,也可以在 Windows 操作系统上的 C++ 编译器
C++ 中的 Base 64 编码实现
发布时间:2023/08/25 浏览次数:182 分类:C++
-
本文将讨论 C++ 中的 base_64 编码。首先,我们将讨论 base_64 编码以及需要它的原因和位置。 稍后,我们将讨论 C++ 中的 base_64 编码/解码。