我有一個命名空間中的一組抽象父類的對象,類似於以下C++中存儲的孩子在一個共同的容器
namespace Core {
class Sparse;
class Dense;
}
我某處定義這些類之後,我得到一些子類:
class SparseA: public Core::Sparse;
class SparseB: public Core::Sparse;
class DenseA: public Core::Dense;
現在我想實例化子類的一些對象,並將它們存儲在可從任何地方訪問的公共容器中。我怎樣才能做到這一點?
還有一個問題:我是否應該在Core
命名空間中包含子類?
謝謝。
你想在容器中混合稀疏和密集?如果是這樣,你確定這是你正在尋找的設計? – 2014-11-04 18:19:22
'boost :: variant,std :: unique_ptr >' –
2014-11-04 18:20:22
@KarolyHorvath這可能是另一個問題。我可能需要也可能不需要這些對象,所以我將隨時創建它們(類似於每個對象的Factory),並且我需要在Console對象中訪問它們,所以我想將它們全部存儲在同一個地方。你有沒有其他的設計建議? – manatttta 2014-11-04 18:24:15