如果我在C ++中有一个指向基类A
的指针,我怎么能在代码中告诉该指针是到派生类B
或C
的呢?
最佳答案
假设基类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/