Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.cpp vs.h以及我应该将函数定义放在哪里 我最近一直在用C++编写,我开始混淆了。CPP VS。h——什么时候使用它们,哪些应该去做。我一直在读,您应该将函数定义放在一个单独的.cpp文件中,并且应该将头用于声明,但是如何使用单独的.cpp文件呢?我包括它还是什么?我正在寻找关于.h和.cpp的澄清,以及什么应该放在哪里以及如何包含单独的.cpp文件。_C++_Function_Header_Definition - Fatal编程技术网

.cpp vs.h以及我应该将函数定义放在哪里 我最近一直在用C++编写,我开始混淆了。CPP VS。h——什么时候使用它们,哪些应该去做。我一直在读,您应该将函数定义放在一个单独的.cpp文件中,并且应该将头用于声明,但是如何使用单独的.cpp文件呢?我包括它还是什么?我正在寻找关于.h和.cpp的澄清,以及什么应该放在哪里以及如何包含单独的.cpp文件。

.cpp vs.h以及我应该将函数定义放在哪里 我最近一直在用C++编写,我开始混淆了。CPP VS。h——什么时候使用它们,哪些应该去做。我一直在读,您应该将函数定义放在一个单独的.cpp文件中,并且应该将头用于声明,但是如何使用单独的.cpp文件呢?我包括它还是什么?我正在寻找关于.h和.cpp的澄清,以及什么应该放在哪里以及如何包含单独的.cpp文件。,c++,function,header,definition,C++,Function,Header,Definition,通常类声明放在.h头文件中,实现放在.cpp文件中 您在cpp文件中包含头文件,因此所有函数都将被识别,并且您应该记住在头文件中使用ifndef以避免错误,包括循环您应该使用.h文件进行函数原型和数据类型声明,以及预处理器指令,使用.cpp文件进行定义。例如,test.h可能是 #define CONSTANT 123 // pre-processor directive void myfunction(char* str); #include <stdio.h> #include

通常类声明放在.h头文件中,实现放在.cpp文件中


您在cpp文件中包含头文件,因此所有函数都将被识别,并且您应该记住在头文件中使用ifndef以避免错误,包括循环

您应该使用.h文件进行函数原型和数据类型声明,以及预处理器指令,使用.cpp文件进行定义。例如,test.h可能是

#define CONSTANT 123 // pre-processor directive
void myfunction(char* str);
#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;
} 
您的test.cpp可能看起来像

#define CONSTANT 123 // pre-processor directive
void myfunction(char* str);
#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;
} 

您是指普通函数还是模板?另请参见、和和。您可能希望同时提及隐式和显式内联函数以及模板。