2011-01-10 154 views
2

我班有許多構造函數和它有很多的構造函數,因此我想製作一個私有構造()函數來促進代碼重用要做。這是一個好主意嗎?因爲我看到許多不這樣做的庫,並且有代碼重複。是否有建設功能?

感謝

+3

但是,從構造函數中調用虛函數時要小心。它可能不像你所期望的那樣行事;被調用的版本將是屬於當前被調用的構造函數的類,而不是屬於實際創建的類。 – Dawson 2011-01-10 23:54:22

+0

你有很多構造函數的原因是什麼?構造函數之間有什麼區別? – 2011-01-10 23:56:04

+0

@Alf P.施泰因巴赫他們是非常小的,像一個字符串,只是事情來添加方便 – jmasterx 2011-01-11 00:01:40

回答

3

這完全是罰款和可能是一個好主意。可能會涉及到如此多的構造函數。但是不可能說。

1

只要construct不是虛擬的,它是安全的。我傾向於喜歡去另一個方向。

使盡可能少的一般構造函數,如果我需要大量更易於使用的便捷構造函數,我使用免費(非成員)函數,它調用構造函數,填充缺少的參數默認值,然後返回構造的對象。

這樣,我避免構造函數調用還未構造對象的成員函數的有點玄乎的問題,我避免在類複製代碼。