✅需要源码 | 课设 可浏览我的课设合集
学长敲代码
✅ 🚀快速解决各种课设毕设,窗体、网站、管理系统,范围 (Java、C#、C/C++、数据库、Vue、小程序)
✅ 🚀 文末可联系🚀
多文件C/C++项目
某些场景中,我们不想把整个复杂代码写在同一个文件里,因为这使得代码冗长,可读性差难以维护。常见的解决方法是在一个.h头文件中定义一些全局变量,函数…,在多个子文件中共享这个.h文件中的全局变量
这个是程序本来的样子,但是代码太长了,我想vs将它变成多文件项目,怎么改?
下面标了1,2,3,4 是程序的4个部分,下面会提到每个部分放在哪儿。
最终的效果如下
1.创建vs项目
创建一个空项目
将代码全部粘贴进来,确保可以运行!
2.创建.h和.cpp文件
首先创建c.h和c.cpp文件。c2.h、c2.cpp待会儿来
将ConsoleApplication1.cpp中的第2部分放在c.h中 (我在上面将程序分为了4个部分)
并且,我希望
employeeCount和employeeList
作为全局变量,所以我在它前面加一个extern,表示申明,而且这个时候不能给它赋值!!!
//定义全局 员工 数组栈指针
extern int employeeCount;
extern struct Employee employeeList[100];
然后将函数的实现,也就是ConsoleApplication1.cpp中的第4部分,放在c.cpp里面,并且头文件也要加进去,还要
#include "c.h"
,除此以外,在c.h中声明的employeeCount和employeeList
在这里定义,这个时候可以赋初始值,在我的这个程序中我设置了employeeCount 初始值为 0;
3.分文件测试成功
ok,经过上面的操作,ConsoleApplication1.cpp变成了如下的样子,记得#include "c.h"
,就可以运行成功了,分文件已经完成
全局变量
如果程序再多一点,c.cpp里面我不想写太多,这个时候我想创建一个c2.h和c2.cpp,在这里创建一些其他的功能,并且想要共享c.h中的employeeCount和employeeList
由于
c.h
中声明了全局变量,并且在c.cpp
中进行了定义初始化,所以我可以在c2.cpp
中愉快的使用这两个变量了
//定义全局 员工 数组栈指针
extern int employeeCount;
extern struct Employee employeeList[100];
ok
回到主函数文件ConsoleApplication1.cpp
这样我在主函数中引入#include "c2.h"
就可以使用c2.h里面的函数了
这样,全局变量的声明和定义问题就解决了