我有一个名为Cell的基类(其他类有一个指向该类对象的指针),以及3个派生类CellA,CellB和CellC。当一个单元格死亡时,指针指向Cell,在另一种情况下,指针处于活动状态(A,B或C)。如何知道这一刻指针指向什么?
答案 0 :(得分:1)
如果您的课程是多态的,您可以使用 dynamic_cast
dynamic_cast
允许您安全地向下转发指针
在您的情况下,您可以使用dynamic_cast
检查基类指针是否指向派生实例,dynamic_cast
可以向您报告该信息。
答案 1 :(得分:1)
也许你需要一点点不同的逻辑,看看状态设计模式,我认为它可以帮助你。通常情况下,铸造是一件坏事,应该避免。如果您需要铸造,那么您可能有设计问题......
祝你好运
答案 2 :(得分:0)
使用dynamic_case
或typeid()
在运行时知道对象...