.cpp 与 .h 以及我应该将函数定义放在哪里

.cpp vs .h and where should I put function definitions

我最近一直在用 C++ 编写代码,我对 .cpp.h 感到困惑 — 何时使用它们以及它们应该包含什么。我一直在读到您应该将函数定义放在一个单独的 .cpp 文件中,并且头文件应该用于声明,但是我如何使用单独的 .cpp 文件?我 #include 它还是什么?我正在寻找有关 .h.cpp 的说明,以及应该去哪里以及如何包含单独的 .cpp 文件。

通常 class 声明进入 (.h) 头文件,实现进入 .cpp 文件。

你在cpp文件中包含头文件,所以所有的函数都会被识别,而且你应该记得在头文件中使用#ifndef以避免错误(包括循环)

您应该将 .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;
}