将代码移动到头文件

时间:2012-11-19 00:06:17

标签: c++ header-files

我正在处理的程序涉及大量用户输入数据。出于这个原因,我有很多功能,其目的仅仅是验证输入并确保其格式化/正确类型。

首先,将代码移动到外部文件的最佳方法是什么?当我为我的项目设计自定义类时,我使用.h和.cpp文件对来声明和实现这些函数;是否适合这些其他随机函数?

其次,在什么情况下应该将代码移到文件之外?我可以轻松地将它全部包含在主文件中,但它看起来很混乱。

2 个答案:

答案 0 :(得分:1)

如果main文件太大,请移出一些文件。

如果可以重复使用这些功能,请将它们分成单独的文件。一个文件包含函数的定义或内容。另一个文件包含文件的声明(a.k.a.原型,标题)。

将代码解压缩到单独文件中的一个原因是,在完成测试时,不需要重新编译单独的文件。链接器可以引用它们的目标文件状态。这加快了构建过程(和开发过程)。

答案 1 :(得分:1)

如果这些'随机'函数是逻辑连接的(即它们都进行输入验证)然后我会创建一个InputValidator类(你必须创建.h和.cpp文件)。在您的应用程序main中(或者您获得输入的地方)创建一个InputValidator实例并调用它来验证您的输入。如果您实际上没有使用该实例,则可以创建方法static,然后使用InputValidator.MyMethod()调用它们,而无需创建实例。