C++ 为什么要在c+中创建abc.h和abc.cpp文件+;节目?
可能重复:C++ 为什么要在c+中创建abc.h和abc.cpp文件+;节目?,c++,header-files,C++,Header Files,可能重复: 我正在阅读一些KDE教程,以创建基本的plasma小部件和其他QT内容。我注意到的一点是,几乎所有的程序都有一个.h和.cpp,头文件包含在cpp文件中 我得到的最基本的东西是尽量减少文件中的混乱,使代码更具可读性 我的问题是,在编写程序时,我应该在.h文件和.cpp文件中放入哪些内容,以及这些内容将如何帮助我改进代码 例如,我创建了3个文件,add.h、add.cpp和pass.cpp,现在add.h具有该函数,而其他2个具有定义 Add.h 然而,从这里的答案来看,这是行不通的
我正在阅读一些KDE教程,以创建基本的plasma小部件和其他QT内容。我注意到的一点是,几乎所有的程序都有一个
.h
和.cpp
,头文件包含在cpp文件中
我得到的最基本的东西是尽量减少文件中的混乱,使代码更具可读性
我的问题是,在编写程序时,我应该在.h文件和.cpp文件中放入哪些内容,以及这些内容将如何帮助我改进代码
例如,我创建了3个文件,add.h、add.cpp和pass.cpp,现在add.h具有该函数,而其他2个具有定义
Add.h
然而,从这里的答案来看,这是行不通的
add.h的内容被自动复制,但我有几个错误。您经常需要从其他翻译单元访问您在
.cpp
文件中定义的内容-这些其他翻译单元需要知道它们可以访问什么,因此这些内容需要在其他翻译单元中声明。将声明放在头文件中意味着您可以将它们包含在其他翻译单元中,而不是在需要访问声明元素的每个翻译单元中复制它们。主要原因是您可以包含多个.cpp文件中的.h,以促进模块/类之间的代码共享
对于一个非常简单的应用程序(例如“hello world”,这是真的。拆分为.cpp和.h没有太多好处)将所有函数完全写在你的
“.cpp”
文件中,然后首先将其写在你的程序中。
在“.h”
文件中,只编写proptype,即函数的声明。将此“.h”
文件放在程序末尾。不要忘记在每个函数原型的末尾写一个分号(;)
这是一个很好的编程实践,它使您能够在这些单独的文件中编写一次代码,并在整个项目或任何其他数量的文件中使用它们的代码
假设您有一个文件“myProgram.cpp”
和myProgram.h
,您可以在任何程序的开头包含这一行来使用其代码。
#包括“myProgram.cpp”
当文件中有许多函数和声明时,它工作得很好。如果您有一小段代码,就不需要创建这些单独的文件。因此意味着声明部分在.h中,主体部分在.cpp中。如果我用int add(intx,inty)方法创建一个a.h文件会怎么样;然后在2个cpp文件中包含相同的方法。如果一个CPP文件传递参数到函数,另一个添加它,HO将能够控制最终输出(在编译时)。您只能定义一次函数。若你们按照你们说的做,编译器会给你们多定义错误。。。!!!我的意思是在头文件中定义add函数,然后创建函数的多个定义,如-在b.cpp中,我将参数传递给函数,在c.cpp中,我创建主体函数,并使用add函数进行所有添加。那么,在这种情况下,我如何确保先调用b.cpp,然后调用c.cpp,以便正确地进行数据解析呢?我已经用我的问题编辑了主要帖子。请务必注意@codingmashWell您以错误的方式声明了函数。我不能在评论中给你看。如果你来这里,我很乐意帮助你学习语法。
#include <iostream>
using namespace std;
int add (int x,int y);
#include "add.h"
int main() {
add (int x, int y) {
int z = x+y;
cout<<"Add is "<<"\t"<<z;
}
return 0;
}
#include "add.h"
add (3,4);