Dev-C++的多文件编程介绍

Dev-C++的多文件编程介绍

多文件编程的意义

稍微大一点的项目不会是单个文件的,多文件便于分工协作、代码复用和修改、结构清晰便于后期的维护。

一个C++语言源程序可以由一个或多个源文件组成。一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。 

本文演使用的工具是Windows下的集成开发环境Dev-C++的。

从多文件编程的角度,C++程序文件一般分三类:

头文件( .h )。放置各种声明,用于被cpp文件包含。

模块文件(.cpp)。放置一些函数定义,也称为功能模块。

主程序文件(.cpp)。包含main()的文件,程序入口,调用模块文件实现的方法。

学过C/C++的人,都会使用过头文件,实际上,在 .cpp 中编写的代码同样也可以写在 .h 中。之所以将 .cpp 文件和 .h 文件在项目中承担的角色进行区别,不是 C++ 语法的规定,而是约定成俗的规范,读者遵守即可。

头文件,其实它的内容跟 .cpp 文件中的内容是一样的,都是 C++ 的源代码,唯一的区别在于头文件不用被编译。我们把所有的函数声明全部放进一个头文件中,当某一个 .cpp 源文件需要时,可以通过 #include 宏命令直接将头文件中的所有内容引入到 .cpp 文件中。

在学习C++开始阶段,我们一般C++单文件编程开始,即所有的代码写到一个源文件里面,例如:

//C++单文件编程:将所有的代码写到一个源文件里面
#include <iostream>
using namespace std;

class Student{
public:
    char *name;
    int age;
    float score;

    void say(){
        cout<<name<<"的年龄是"<<age<<",成绩是"<<score<<endl;
    }
};

int main(){
    Student *pStu = new Student;
    pStu -> name = "小明";
    pStu -> age = 15;
    pStu -> score = 92.5f;
    pStu -> say();
    delete pStu;  //删除对象
    return 0;
}

运行效果:

对于代码量几十行或者几百行的小程序,放在单文件是可以的,但当程序代码较多时,为了方便后期的维护,采用多文件编程分散代码,分别将相同或相近功能的代码存储在一个文件中,便于分工协作、代码复用和修改。为了演示C++多文件编程,我们特意将上面这个不太复制的程序,改造一下。

下面为演示多文件编程将上面程序拆分成两个文件。项目的目录结构如下:

分成2个文件:

Student2.h文件内容如下:

//student2.cpp
#include <iostream>   //std::cout、std::endl
using namespace std;
class Student {
public:
    const char *name;
    int age;
    float score;
    void say() {
       cout << name << "的年龄是" << age << ",成绩是" << score <<endl;
    }
};

main2.h文件内容如下:

//main2.cpp
#include "student2.cpp"  //Student
int main() {
    Student *pStu = new Student;
    pStu->name = "小明";
    pStu->age = 15;
    pStu->score = 92.5f;
    pStu->say();
    delete pStu;  //删除对象
    return 0;
}

在dev-c++下建一个Project(提示创建项目会生成一个dev文件,这个dev文件保存了项目的相关信息):

Project类型选择 “Console Application”

输入Project名称,参见下图:

【提示新建Project后,可以看到,系统已经为我们在mian.cpp文件中编辑好了部分代码,保存时可改名,我这里改为mian2.cpp。还可以往此Project中添加源文件:

保存时注意输入正确的名称】

运行效果:

Dev-C++两种新建方式,一种是新建源文件,一种是新建项目有何区别?

新建源文件:

这种方式一般适用于编写单个C/C++程序文件;

只需指定文件名和路径即可创建;

编写完后直接编译运行即可;

适合编写小型程序或代码片段。

新建项目:

这种方式适用于开发包含多个源文件的工程项目;

需指定项目名称、类型(如可执行程序、静态库等);

可在项目中组织和管理多个源文件和头文件;

提供项目级构建、编译、链接等功能;

适合开发大型、多文件的应用程序。

总的来说,新建源文件方便编写简单代码,而新建项目则提供了更强大的代码组织和管理能力,适合复杂工程开发。

关于C++多文件编程还可参考

C++文件包含、引用、存储类 https://blog.csdn.net/cnds123/article/details/109102262 一文的 C++文件包含部分。

 C++将函数声明放在头文件中的示例 https://blog.csdn.net/cnds123/article/details/132214317

  • 16
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值