.cpp vs .h和我应该在哪里放置函数定义
问题描述:
我最近一直在用C++编写,我对.cpp
vs .h
感到困惑 - 何时使用它们以及应该如何使用它们。我一直在阅读,你应该把函数定义放在一个单独的.cpp
文件中,并且头文件应该用于声明,但是如何使用单独的.cpp
文件?我是#include
它还是什么?我正在寻找关于.h
和.cpp
的说明,以及应该在何处以及如何包括单独的.cpp
文件。.cpp vs .h和我应该在哪里放置函数定义
答
您应该使用的.h用于函数原型和数据类型的文件声明以及用于预处理器指令和用于定义的.cpp文件。例如,test.h
可能看起来像
#define CONSTANT 123 // pre-processor directive
void myfunction(char* str);
和你test.cpp
可能看起来像
#include <stdio.h>
#include "test.h"
int main(int argc char **argv)
{
myfunction("Hello World");
return 0;
}
void myfunction (char* str)
{
printf("%s and constant %d", str, CONSTANT);
return;
}
+2
你可能想提到'内联函数(隐式和显式)和'模板'。 – Deduplicator 2015-01-31 22:38:50
答
通常类声明进入(.h)头文件,实现进入.cpp文件。
您在cpp文件的头文件,所以所有的功能将被认可,你应该记住使用的#ifndef头文件,以避免错误(包括循环)
你的意思正常功能或模板? – wimh 2015-01-31 21:58:57
另请参见[头文件中的C++代码](http://stackoverflow.com/questions/583255/c-code-in-header-files/)和[将代码拆分为头文件/源文件](http:// stackoverflow.com/questions/2584856/splitting-code-into-headers-source-files)和[为什么在C++中有头文件和'.cpp'文件](http://stackoverflow.com/questions/333889/why - 具备头-文件和 - CPP-文件-在-C)。 – 2015-02-01 07:00:59