重新定义和使用失败 ifned/def/endif

Redefinition and fail to use ifned/def/endif

我正在尝试制作一个遵循以下 UML 图的程序

我已将每个 class 分成各自的 header 和 cpp。然而,在对它进行一些测试时,我发现了很多重新定义的消息,所以我尝试使用 ifndef、def 和 endif,但是正如你在这张图片中看到的(我的佣金工人 header),好像我不是包括员工 header

我正在使用 Visual Studio 相关代码(另外,我仔细检查了我的文件名,所以这不是问题所在)

您通过使用预处理器指令 #include "HEADERNAME.h/hpp" 包含员工 Class 的 header 文件 在您的情况下:#include "Employee.h",如果您的 header 文件是这样调用的。

您使用了所谓的 "Include/Header 守卫",用于防止多重 header 包含 。这些应该放在各自的 header 文件中,而不是放在包含它的其他 header 文件中。 或者,您可以使用 #pragma once。它是 non-standard,但应该得到广泛支持。

对于您的字符串,您想这样处理命名空间 std:std::string