成员函数定义

Sim*_*ity 6 c++ class function definition member

采取什么是正确的方法:

定义成员(类)函数的类?

定义类的成员(类)函数?

谢谢.

Che*_*Alf 9

假设你在谈论这三种可能性:

  1. 头文件中类定义中定义的方法.
  2. 方法在头文件中定义外部类定义.
  3. 方法在实现文件中定义外部类定义.

然后项目和公司指南可能会强迫您始终使用(1)或(3).

当你有一个选择时,恕我直言最好适应当前的情况,考虑诸如此类的事情

  • 你想要一个只有标题的模块吗?然后(1)默认,(2)可能.
  • 这个方法是一个大野兽吗?然后(2)或(3).
  • 模板方法专业化?然后(2)或(3).
  • 有一个构建时问题(慢速构建)?表示(3).
  • 模板类?(1)或可能(2)

但除非有效地强加于您的选择,否则最重要的是考虑代码的清晰度.

干杯&hth.,


CB *_*ley 2

除非成员函数定义很简单(非正式意义上)并且不会引入任何额外的依赖项,否则我通常会在类主体之外的单独源文件中定义成员函数。

这通常是风格问题,但在某些情况下这是必要的,而在许多其他情况下需要在类体之外定义函数。

例如,如果您有相互依赖的类,并且在类定义之前只能使用另一个类的前向声明,则使用该另一个类的定义的成员函数只能在类体外部定义已提供另一个类的完整定义。