我有一個包含一組屬性的類,我希望能夠從另一個實例(名爲parent)獲取默認值。在C++中實現默認值
如果該實例沒有父級,則會爲其分配默認值。 但是,如果實例有一個父項,那麼我希望它將其屬性默認爲父項的,限制爲,如果父屬性被修改,則對象屬性也可以獲得新值。 鑑於此限制,我不能簡單地複製父項的值。
因此,我認爲我有兩種方法:
- 使用指針:如果指針是nullptr然後使用父值。
- 對每個屬性使用bool字段,指示狀態。
這兩種方法應該可行,但他們也incovenient:
- 第一需要,即使它可以用shared_ptr的或的unique_ptr簡化手動實例化。但是這會導致額外的指令,因此速度較慢的代碼會導致額外的內存消耗:每個實例每個屬性至少需要多一個字節(大部分時間爲2,4或甚至8個字節)。
我的問題是:有沒有其他的方法來實現這樣的行爲?或者什麼是最好的解決方案?
你的口頭描述聽起來有點亂。你可以發表一些代碼,你想如何使用它,以及你希望它如何表現? – 2011-12-18 23:24:40