gpt4 book ai didi

java - 如何在 C++(来自 Java)的子目录中组织头文件/类文件?

转载 作者:行者123 更新时间:2023-11-30 01:12:09 25 4
gpt4 key购买 nike

我是 C++ 的新手,来自 Java,我需要将一个简单的项目从 Java 迁移到 C++。我对如何在 C++ 中处理模块和类分离感到困惑。该项目如下图所示。我明白(如果我错了请纠正我)每个类都必须有一个头文件,以便它可以被其他使用我的库的系统导入和使用。但是由于 C++ 没有包,我不确定在 C++ 中解决组织问题的正确/标准方法是什么。有人可以帮忙吗?

enter image description here

最佳答案

为了保持简洁明了,是的,每个类都应该有自己的头文件和相应的实现(.cpp)文件。您可以为每个文件声明多个类,没有什么可以阻止您这样做,但如果您这样做,您可能会花一些时间在文件中导航以找到您正在寻找的类(尽管“转到定义/声明”就可以了。

您可以在项目的 IDE 中创建过滤器,就像在 Eclipse 中创建包一样。我建议过滤器遵循与您的项目在 HDD 中相同的文件夹结构。

IDE Filters - Folder Structure correlation

正如 Glenn 所说,您应该使用 C++ 命名空间。例如,您的“Time.java”文件将由“Time.hpp”和“Time.cpp”文件表示。

示例:

时间.hpp:

namespace your_project {
namespace time {
// Time class declaration
}
}

CpuTime.hpp:

namespace your_project {
namespace time {
// CpuTime class declaration
}
}

StringUtils.hpp:

namespace your_project {
namespace utils {
// StringUtils class declaration
}
}

然后,如果您需要使用一个类,您只需包含标题即可。

例子.cpp

#include <Utils/StringUtils.hpp>

using namespace your_project::utils;

// Do stuff with StringUtils class

关于java - 如何在 C++(来自 Java)的子目录中组织头文件/类文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34663883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com