1
最近這一直在困擾着我。假設我有一個基類Base。如果我在Base之上有多個派生類,比如DerivedA和DerivedB,則深層副本會變得很痛苦。在派生類上執行深層複製
OtherClass(const OtherClass & _rhs)
{
//I have a list of Base *, now I must assign a class id to each derived class to properly create a new one.
//...
}
有什麼辦法來解決這個問題?
設計得更好。最小的耦合,最大的內聚力。 – 2012-02-03 22:36:18
我不覺得有什麼辦法來重組它。我有一個充滿了瓷磚的地形類。不同的瓷磚行爲會有所不同。我還要如何複製地形類? – lowq 2012-02-03 22:41:56
取決於你的瓷磚做什麼。例如,如果它們主要由行爲構成,而不是狀態,那麼您可能無需在該圖塊每次存在於世界中時實例化一個Tile子類的一個實例:您可以簡單地引用單個共享實例。如果你的Tiles需要狀態,但是它對每個tile都是一樣的狀態,那麼你可以將這個狀態從Tile類中取出。 – 2012-02-03 22:57:58