gpt4 book ai didi

c++ - 关于C++头文件的简单问题

转载 作者:搜寻专家 更新时间:2023-10-31 00:03:05 28 4
gpt4 key购买 nike

假设我有 3 个文件:add.h、add.cpp 和 main.cpp。这是 C++ 培训站点上的一个常见示例,其中 add.h 包含名为“add”的函数的原型(prototype)。 Add.cpp 包含原型(prototype)声明,main.cpp 包含 add.h,然后调用 add() 函数将两个数字(x 和 y)相加。

我的问题是:无论我将 add.cpp 命名为什么,我的程序都运行良好。 Elephant.cpp 与 doctorWhoRules.cpp 一样有效。编译器是否搜索所有本地 .cpp 文件以在 add.h 中找到给定的原型(prototype)?我没有在任何地方声明包含它的 .cpp 文件的名称。我只是对它的工作原理感到困惑。

谢谢!

最佳答案

我认为您正在将 JavaC++ 混合使用。在 Java 中(像 Eclipse 这样的编辑器)有一个普遍的限制,你的 class 名称应该与文件名相同。即

// Add.java
class Add
{
}

在 C++ 中没有这样的限制。您的文件名可以是任何有意义的名称。您唯一需要注意的是您的实现文件带有 .cpp/.cxx/.C 等扩展名(我不'知道现代编译器是否也支持除此之外的其他功能)。

当然,除了 .cpp 和所有其他文件,您的头文件也可以是任意扩展名;头文件的更常规扩展名是.h.hpp

关于c++ - 关于C++头文件的简单问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6868153/

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