为类外的函数分隔文件

时间:2018-01-05 10:30:16

标签: function class oop

  1. 将每个类与主代码分开是一个很好的做法 标题来源。但功能怎么样?比方说,我有一个 函数我想在多个类中使用,而不要 希望将此函数包含为类的方法。
  2. 如果我决定为这个功能创建一个单独的文件,我应该 将所有内容放在 .h 中,或者我应该像处理类一样 (单独 .h .cpp )?

1 个答案:

答案 0 :(得分:0)

是的,无论是否是一个类,将声明/签名(在头文件中)与定义/实现(在cpp文件中)分开仍然是一种好习惯。

调用函数的代码不需要知道函数的实际工作方式 - 只是如何调用它。

这种分离可以避免有时会发生的循环引用。它避免了编译器每次包含声明时都必须重新解析定义。

基本上,对于类和非类函数,header和cpp之间分离的原因大致相同。

但是,如果您使用模板,则需要包含定义而不仅仅是声明(就像使用模板类一样)。

我建议你把这些函数放在命名空间中,即使你没有把它们放在一个类中。