为什么要在c++程序中创建abc.h和abc.cpp文件

Why create abc.h and abc.cpp file in a c++ program?

本文关键字:abc cpp 文件 创建 c++ 程序 为什么      更新时间:2023-10-16

可能重复:
在C++中,为什么有头文件和cpp文件?

我读了一些KDE教程,用来创建基本的等离子小部件和其他QT东西。我注意到的一件事是,几乎所有程序都有一个.h.cpp,其头文件包含在cpp文件中。

我得到的基本东西是尽量减少文件中的混乱,使代码更可读。

我的问题是,在编写程序时,我应该在.h文件和.cpp文件中放入什么内容,以及它将如何对我改进代码有益。

例如,我创建了3个文件,add.h、add.cpp和pass.cpp。现在add.h有了这个函数,而其他2个有了定义。

添加.h

#include <iostream>
using namespace std;
int add (int x,int y);

添加cpp

#include "add.h"
int main() {
    add (int x, int y) {
    int z = x+y;
    cout<<"Add is "<<"t"<<z;
    }
return 0;
}

Pass.cpp

#include "add.h"

add (3,4);

然而,从这里的答案来看,这是行不通的。为什么C++中有头文件和.cpp文件?

add.h的内容是自动复制的,但我有几个错误。

主要原因是您可以包含多个.cpp文件中的.h,以促进模块/类之间的代码共享。

对于一个非常简单的应用程序(例如"helloworld",这是真的。拆分为.cpp和.h没有太多好处)

将所有函数完全写入".cpp"文件,并首先将其写入程序中。在".h"文件中,只编写proptype,即函数的声明。在程序结束时制作此".h"文件。不要忘记在每个函数原型的末尾写一个分号(;)。

这是一种很好的编程实践,它使您可以在这些单独的文件中一次性编写代码,并在整个项目或任何其他数量的文件中使用它们的代码。

假设您有一个文件"myProgram.cpp"myProgram.h,您可以在任何程序的开头包含这一行来使用它的代码。#include "myProgram.cpp"

当您的文件中有许多函数和声明时,它可以很好地工作。如果您有一小段代码,就不需要创建这些单独的文件。

您经常需要从其他翻译单元访问您在.cpp文件中定义的东西-这些其他翻译单元需要知道他们可以访问什么,所以这些东西需要在其他翻译单元中声明。将声明放在头文件中意味着您可以将它们包括在另一个翻译单元中,而不是在每个需要访问声明元素的翻译单元中复制它们。