2012-03-31 55 views
1

假設我們有一個基類​​和這樣hieraachy樹:將shared_pointers列表轉換爲基礎類轉換的項目實例什麼是轉換選項以將項目分類爲分離列表?

enter image description here

我們充滿蒙山所有類redblue等恰似​​列表greenList。我們不創建這個列表,我們給它填充數據。我們現在要創建redyellow等類別的列表。我們確實有red等課程標題,我們不希望​​課程中有getType

如何在C++ 03(使用boost)中將列表greenList排序成redListyellowList等列表?

+0

你打算使用'shared_dynamic_cast'嗎? – 2012-03-31 12:27:01

+0

@Als:它被稱爲'dynamic_pointer_cast'。 – 2012-03-31 12:54:56

+0

@AlexandreC .: AFAIR,這些演員通常都是知道的,只有在C++ 11中才被棄用。 – 2012-03-31 12:57:34

回答

1

如果它們是指針,使用dynamic_cast並檢查返回值;如果它們是ref,則在try/catch塊中使用動態強制轉換。