在C 中的类声明和实现的位置混淆

Confused on the locations of class declaration and implementation in c++

本文关键字:位置 实现 声明      更新时间:2023-10-16

我无法找到对此的具体答案 - 我知道.h文件包含类声明,并且.cpp文件保留了实现。

我对如何在没有重复的情况下完成此操作感到困惑。

如果我有一类动物,则可以在该计划的几个领域中被称为。因此,看来我必须多次重写实施(毫无疑问,这意味着我被误解了)。

在每次使用给定类别中都包括一个.h声明和.cpp植入(证据我也误解了某些东西)似乎有些愚蠢。

我在分离声明和实施的主题上出错了哪里?

我一直在做php和python,所以可能会使我感到困惑。

.cpp文件被编译为 中( .o)文件。
它们是从未包含在其他.cpp文件中的(这将导致多个定义,这是一般情况下的错误)。

声明通常通过#include ING标题文件检索,是一个.cpp文件可以知道 stome 其他.cpp文件中定义的内容并在没有其定义的情况下使用它的方式。

一旦将所有.cpp文件都编译到对象文件中,链接器就会出现并链接所有对象文件以形成最终的可执行文件或库。
如果找到了同一事物的多个定义,或者丢失了,那是链接器错误。