公共基类的派生类的TypeID

Dan*_*Dan 6 c++ types typeid

我试图在C++中实现一些机制,从而为从公共基类派生的所有类分配一个唯一的"类ID".例如:

class BaseClass  
{  
    //...
    public: unsigned int GetID( void );
    //...
};
class DerivedClass : public BaseClass
{
}
Run Code Online (Sandbox Code Playgroud)

类DerivedClass和BaseClass的所有其他子项应该能够返回唯一标识符,而不需要向DerivedClass添加任何额外的代码......但是,C++对我来说相当困难.任何想法,将不胜感激.

提前致谢! - -担

Che*_*Alf 1

您没有表明您熟悉typeiddynamic_cast

他们很有可能解决您的问题。

如果没有,请描述为什么没有的原因。

干杯,

  • @Dan:每当你认为你可以比编译器做得更好时,请三思而后行。 (2认同)
  • @Chubsdad:好的,但我读到他对意见而不是实际表现的依赖有点可疑。 (2认同)