How to know what type of object is pointing a base class pointer?

前端 未结 3 1791
再見小時候
再見小時候 2021-01-28 04:07

I have a base class named Cell (other class has a pointer to an object of this class), and 3 derivated classes CellA, CellB and CellC. When a cell is dead, the pointer points to

相关标签:
3条回答
  • 2021-01-28 04:35

    In case your classes are polymorphic You can use dynamic_cast.
    dynamic_cast allows you to safely downcast pointers.
    In your case, You can use dynamic_cast to check if the Base class pointer is pointing to a derived instance, dynamic_cast can report you that information.

    0 讨论(0)
  • 2021-01-28 04:38

    use dynamic_case or typeid() to know the object at runtime...

    0 讨论(0)
  • 2021-01-28 04:40

    Maybe you need a little bit different logic, take a look on states design pattern I think it could help you. Normally the casting is a bad thing and should be avoided. If you need a casting then you probably have a design issue....

    Good Luck

    0 讨论(0)
提交回复
热议问题