.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;
}
我最近一直在用 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;
}