【发布时间】:2011-05-19 10:38:34
【问题描述】:
假设启用了 RTTI,您可以在运行时使用 typeid(this).name() 获取当前类名。
我希望能够获得“this”的基类名称。那可能吗?我没有使用多重继承,以防万一。
【问题讨论】:
-
你为什么需要它?通常,当您发现自己需要 RTTI 时,这表明存在设计问题。
-
我想要这个的原因是使用遗留系统框架中的现有调用提供调试输出。代码中提供了类名和基类名,但涉及大约 300 个类,所以我一直在寻找可以在全局搜索和替换中使用的东西。这是针对客户要求的;我本来可以用完全不同的方式解决这个问题,但是与旧软件的二进制兼容性限制了我的解决方案。
标签: c++ inheritance runtime classname