C++ 多个cpp文件的一个标头

C++ 多个cpp文件的一个标头,c++,C++,假设我有3个cpp文件: Main.cpp First.cpp Second.cpp 现在我想在Main中使用First和Second的函数。如果我只对cpp文件及其函数使用了一个头文件,有什么好抱怨的吗 在First中使用头文件时,是否会出现任何问题,因为我需要First中的Second函数?只要遵循,并且每个声明都是一致的,就可以了 标题通常是为了提供函数和其他东西的声明,链接阶段(除非有更复杂的内容,比如模板)将负责解决这些依赖关系 我没有说关于设计的任何东西-没有提供足够的信息。不,只

假设我有3个cpp文件:

Main.cpp
First.cpp
Second.cpp
现在我想在Main中使用First和Second的函数。如果我只对cpp文件及其函数使用了一个头文件,有什么好抱怨的吗

在First中使用头文件时,是否会出现任何问题,因为我需要First中的Second函数?

只要遵循,并且每个声明都是一致的,就可以了

标题通常是为了提供函数和其他东西的声明,链接阶段(除非有更复杂的内容,比如模板)将负责解决这些依赖关系


我没有说关于设计的任何东西-没有提供足够的信息。

不,只要您为编译器的每个声明提供一个定义,就可以了


<>但是,最好是为每个头文件提供一个源文件:如果“第一”需要两者,则只包括第一个.h和第二个.h

至于C++,使用一个头文件和分割2个文件之间的函数的实际实现不会有任何问题。然而,这偏离了惯例,如果您需要“First.cpp”中“Second.cpp”中的函数,那么您可能应该查看每个函数中发生了什么,并且可能应该将这些函数分离到另一个文件中


作为个人偏好,我建议您应该坚持为每个头文件使用一个cpp文件。如果以后需要重新重构或移动实现,拆分实现只会带来麻烦。

如果您使用的架构将服务器和客户端代码混合在一个定义中,那么使用不同的cpp文件将它们分开可能是一种方法。

一个头,几个cpp。 Cpps中的所有函数都可以在一个头文件中声明。(例如:“概述h”) 所有CPP都应该包含“general.h”文件。
然后定义声明函数的主体。

出于可读性和样式的原因,一般来说,您希望在不同的头文件之间保持功能组的分离。如果
第一个
第二个
做了不同的事情,那么您希望将它们放在不同的标题中。原因是以后如果只想先使用
中的功能
,就不需要再包含
中的功能。如果<代码>第一< /代码>和<代码>第二版/代码>总是一起使用,并做类似的事情,那么考虑合并2代码> CPP < /C>文件,然后合并标题。它不是干净的样式,但不会引起实际问题。正如编译器所看到的,头文件只是被“粘贴”到源文件中