如何检索除RTTI之外的C ++类信息

时间:2011-03-06 17:00:11

标签: c++ rtti

这是三个类,

class ClassA{};
class ClassB:public ClassA{};
class ClassC:public ClassB{};

ClassC cobject;

我想知道对象的“类名”(即ClassC)及其“SuperClasses'名称”(即ClassB& ClassA)

我知道RTTI可以做到这一点。但我想知道我是否可以用一些宏来做到这一点。

1 个答案:

答案 0 :(得分:1)

简短的回答是否定的,如果您不想使用RTTI,则不能使用几个宏。

但是,您可以使用自己的模板或使用Boost.TypeTraits之类的库来获取有关类类型的大量有用信息。例如,您可以使用is_base_of()

测试某个类是否继承自另一个类