我的类有很多构造函数,它在构造函数中有很多工作要做,所以我想创建一个私有的construct()函数来促进代码重用。这是一个好主意吗?因为我看到许多库没有这样做并且有代码重复。
由于
答案 0 :(得分:3)
这完全没问题,可能是个好主意。可能有什么问题是有这么多的构造者。但这是不可能的。
答案 1 :(得分:1)
查看this question,以一般方式解决问题。
答案 2 :(得分:1)
只要construct
不是虚拟的,它通常是安全的。我倾向于选择另一个方向。
使尽可能少的通用构造函数,如果我需要很多易于使用的方便构造函数,我使用自由(非成员)函数,它调用构造函数,用适当的默认值填充缺少的参数值,然后返回构造的对象。
这样我就避免了构造函数调用尚未构造的对象的成员函数的问题,并避免在类中复制代码。