2014-10-17 68 views
4

您可以使用std::is_base_of來檢查某個類是否繼承了某個基類,但是如何知道該類是否不是直接繼承自該類(即間接從該類繼承)?如何確定類是否從基類間接繼承?

+0

你是說如果'Derived1'繼承自'Base',Derived2'繼承自Derived1'',你希望返回給定'Derived1'和'Derived2'的'false',但返回'true'給出' Base'和'Derived2'? – 2014-10-17 19:08:01

+0

@RSahu是的。如果可能的話,我會接受C++ 11解決方案。副本中的答案也很好。 – 2014-10-17 19:08:40

+0

這是**不是**另一個問題的重複。如果任何事情相反。順便說一句,'is_base_of'不僅檢測直接基地,IIRC – 2014-10-17 20:31:05

回答