如何知道什么类型的对象指向基类指针?

时间:2012-03-10 11:39:58

标签: c++ object pointers

我有一个名为Cell的基类(其他类有一个指向该类对象的指针),以及3个派生类CellA,CellB和CellC。当一个单元格死亡时,指针指向Cell,在另一种情况下,指针处于活动状态(A,B或C)。如何知道这一刻指针指向什么?

3 个答案:

答案 0 :(得分:1)

如果您的课程是多态的,您可以使用 dynamic_cast dynamic_cast允许您安全地向下转发指针 在您的情况下,您可以使用dynamic_cast检查基类指针是否指向派生实例,dynamic_cast可以向您报告该信息。

答案 1 :(得分:1)

也许你需要一点点不同的逻辑,看看状态设计模式,我认为它可以帮助你。通常情况下,铸造是一件坏事,应该避免。如果您需要铸造,那么您可能有设计问题......

祝你好运

答案 2 :(得分:0)

使用dynamic_casetypeid()在运行时知道对象...