我正在编写一个程序,我需要两个不同的.cpp文件,第一个是我的主文件,第二个文件是主要使用的几个函数。我是否还需要头文件进行初始化?不太确定如何去#includes ..任何帮助表示赞赏!
答案 0 :(得分:1)
如果您想使用多个.cpp
个文件 -
.h
文件基本上用于将.cpp
个文件链接在一起。.h
文件中。.h
文件包含在主.cpp
文件中。.cpp
文件中编写函数,并包含.h
文件。请查看此链接以获取更多信息 - Multiple .cpp file programs。
答案 1 :(得分:0)
这应该适合你。
您的main.cpp
文件:
// main.cpp
#include "header.h" // bring in the declarations
// some function that performs initialization.
// it is static so it cannot be seen outside of this compilation unit.
static void init_function() {
}
// initialization functions etc. here
int main(int argc, char *argv[]) {
return 0;
}
您的header.h
文件:
// header.h
#ifndef HEADER_H_INCLUDED_
#define HEADER_H_INCLUDED_
// this is an include guard, google the term
// function declaration
int my_function();
#endif /* HEADER_H_INCLUDED_ */
您的header.cpp
文件:
// header.cpp
//
// file containing the definitions for declarations in header.h
#include "header.h"
// definition of my_function
int my_function() {
// do cool stuff
}
// some helper function that is not to be used outside of
// header.cpp
static int helper_function() {
}
只有要向其他编译单元公开的函数和类才需要头文件。我假设您不希望将初始化函数公开给任何其他模块,因此可以不在头文件中声明它们。它们也应标记为static
,因此它们没有外部链接。
在C ++中,您也可以使用匿名命名空间来提供内部链接,但现在这不应该关注您。