有没有办法在运行时在C ++中获取基类名?

时间:2010-12-02 22:23:22

标签: c++ inheritance runtime classname

您可以在运行时使用typeid(this).name()来获取当前类名,假设启用了RTTI。

我希望能够获得“this”的基类名称。那可能吗?我没有使用多重继承,以防万一。

4 个答案:

答案 0 :(得分:2)

另外,我认为你不能指望typeid(this).name()给你一个类名(AFAIK要返回的确切值是实现定义的)。

答案 1 :(得分:1)

不,先生。抱歉。以这种方式获取类名的方法取决于实现。在我的实现中,我得到了错误的名字。

答案 2 :(得分:1)

无法可靠地检索信息,因为它无法可靠地存储在任何地方,反过来因为除非您明确要求,否则C ++哲学不会为您提供信息。

答案 3 :(得分:0)

不,它不是,你需要这个功能的原因是可疑的:)