如果我在 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/