在C++的头文件中允许简单的构造函数/方法定义的想法是什么?我正在创建的一些类是组成另一个对象的简单数据对象,因此它们需要自己的构造函数和get/set方法。然而,这些代码通常少于3-4行,每行的构造函数都使用init列表。只对这些类使用.h可以吗?
更新::将.h文件存储在与cpp文件分开的目录中会怎么样?
发布于 2010-09-24 03:25:05
我会投票支持只在你的头文件中放置声明。这将使头文件更加整洁(不会使您的视图变得混乱)。用户可以查看头文件来查看接口,而不会遇到不相关的实现细节。
在头文件中放入定义(而不是声明)也会导致链接器错误(正如卡米奇船长所提到的)。也许目前不是,但当你扩展你的代码时肯定会这样。
此外,显式分离声明和定义(这里省略模板和内联函数)也可以实现更“完美”的模型。代码将在单独的源文件中完全模块化。从我的个人经验来看,这需要时间和精力,但却是一致的,并避免了链接器错误等。
当然,如果你正在写一个快速的应用程序,没有人会去批评see...nobody ;)
发布于 2010-09-24 03:13:20
勇敢点儿。
如果你想要一个更好的回应,详细说明你的问题,post代码等。
发布于 2010-09-24 07:50:26
我将.h文件放在与.cpp文件相同的目录中。无论如何,它们是耦合的,那么为什么要将它们分开呢?
当你想要在声明(在foo.h中)和定义(在foo.cpp中)之间跳转时,集成开发环境定位匹配文件要容易得多。
仅对于外部头,即那些由外部项目使用的头,我可能会创建一个单独的文件夹。
https://stackoverflow.com/questions/3781730
复制相似问题