我有這樣的結構:不知道我有什麼類型的類後做一個<的dynamic_cast>
class IIterator : public ICollectible{};
class A: public ICollectible{};
class b: public A{};
class c: public A{};
class d: public A{};
當我做這樣的事情
IIterator* it = colection->getIterator();
whatType* db = dynamic_cast<whatType*>(it->hasCurrent());
保藏的清單,A
類型的元素(它可能有b
,c
,c
或d
) hasCurrent()
hasCurrent()
給我東西類型ICollectible,所以我必須做
動態演員,所以我可以工作 與b
,c
或d
,但我怎麼知道它是哪一個?
如果你需要知道他們的真實類型是什麼,那麼混合你的類型有什麼意義? – Stargateur
歡迎來到堆棧溢出。請花些時間閱讀[The Tour](http://stackoverflow.com/tour),並參閱[幫助中心](http://stackoverflow.com/help/asking)中的資料,瞭解您可以在這裏問。 –
我會保留3個不同的A類東西的列表? –