class MovablePoint : public Point {
// MovablePoint is a subclass of Point
// Something
}
Point * ptrP1 = new MovablePoint(11, 12, 13, 14);
如果我获得了上述格式,我是否可以在这种情况下知道我的指针
ptrP1
将指向类型为Point
的对象还是指向类型为MovablePoint
的对象? 最佳答案
您可以使用dynamic_cast
:
MovablePoint* pMovPoint = dynamic_cast<MovablePoint*>(ptrP1);
如果可以进行转换,它将返回一个有效的指针,否则将返回0。
关于c++ - 将子类实例替换为父类(super class)引用C++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20365614/