社区在3 个月前审查了是否重新打开此问题并将其关闭:
原始关闭原因未解决
为什么 C++ 有头文件和 .cpp 文件?
好吧,主要原因是为了将接口与实现分开。头文件声明了一个类(或任何正在实现的)将做什么,而 cpp 文件定义了它将如何执行这些功能。
这减少了依赖关系,因此使用标头的代码不一定需要知道实现的所有细节以及仅需要的任何其他类/标头。这将减少编译时间以及当实现中的某些内容发生更改时所需的重新编译量。
它并不完美,您通常会求助于Pimpl Idiom之类的技术来正确分离接口和实现,但这是一个好的开始。