我有一个名为Cell的基类(另一个类有一个指向这个类的对象的指针),还有3个派生类CellA、CellB和CellC。当细胞死亡时,指针指向细胞,在其他情况下是活的(A、B或C)。如何知道是什么在这一刻指向着那个指针在行动??
发布于 2012-03-10 19:46:30
如果你的类是多态的,你可以使用。
dynamic_cast允许您安全地向下转换指针。
在您的示例中,您可以使用dynamic_cast检查基类指针是否指向派生实例,dynamic_cast可以向您报告该信息。
发布于 2012-03-10 19:50:16
也许你需要一点不同的逻辑,看看状态设计模式,我想它会对你有帮助。通常情况下,强制转换是一件坏事,应该避免。如果你需要一个演员,那么你可能有一个设计问题……
祝好运
发布于 2012-03-10 20:19:22
在运行时使用dynamic_case或typeid()了解对象...
https://stackoverflow.com/questions/9646125
复制相似问题