【发布时间】:2017-02-17 00:31:18
【问题描述】:
我的任务是实现一个类。我收到了一个名为“pro.h”的 .h 文件,我无法以任何方式对其进行更改。 .h 文件仅包含函数原型,没有定义。在 class 块之后,它有一个
#include "pro.hpp"
我应该创建一个 file.hpp 来添加定义,但我很困惑,因为定义通常包含在 .cpp 文件中,而不是另一个头文件中。你认为为什么会这样做?我是否会像在 .cpp 文件中那样格式化定义,或者重写头文件以包含定义(这似乎效率低下)。
【问题讨论】:
-
.h文件、.hpp文件或任何其他文件都没有什么神奇之处。编译器只是按照指示处理所有#include文件。您的文件扩展名可以是.h、.hpp、.xyz或.hjgiurejkcxkj。它仍然是有效的 C++,只要相关文件在被逻辑包含后包含有效的 C++ 代码。 -
谢谢,我只是想确保编译器不会因为扩展而对它进行不同的编译。
-
@AlessandroLorusso 你(通常)不会自己编译头文件,所以没有问题。
-
我猜测,你必须这样做的原因是你有一个不称职的老师。
-
您应该使用称为模板的东西吗?
标签: c++ header definition