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