2011-09-01 47 views
0

有沒有一種方法可以訪問C++中所有類的基類?由於variadic模板可用,我認爲它是有道理的,例如, ___BASE這是當前類所有類型的可變參數列表。 這也可以檢查一個類或它的基類是否屬於某種類型。 這已經是可能的或我在這裏錯過了爲什麼這是不可能的!?用於可變參數模板的基類的列表

+0

我不認爲這是可能的,由於私人繼承。多重繼承可能會導致問題。 – Frigo

+0

多重繼承是我說它應該是可變參數的原因。我沒有看到私有繼承的問題。 – abergmeier

回答

2

語言中沒有通用的機制來告訴你所有的基類,儘管你可以爲類層次結構的所有成員自由地添加一個合適的typedef來使這些信息可用(例如typedef一個元組的參數類型是祖先加上祖先的祖先) - 你可能會爲此寫一個混音。

至於檢查某物是否是另一物的基礎,那已經是std::is_base_of型特徵形狀的標準的一部分。

相關問題