如果我在C ++中有一个指向基类A的指针,我怎么能在代码中告诉该指针是到派生类BC的呢?

最佳答案

假设基类A是多态的(即它至少具有一个虚函数),则可以使用dynamic_cast。给定A* ap;

if (B* bp = dynamic_cast<B*>(ap)) {
    // the object is a B
}
else if (C* cp = dynamic_cast<C*>(ap)) {
    // the object is a C
}

关于c++ - 查看对象是什么类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4426476/

10-12 20:40