c++ - 查看对象是什么类

标签 c++ class inheritance pointers radix

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

相关文章:

c++ - 你如何在 visual studio 中预览你的 c++ 代码

c++ - 错误 : control reaches end of non-void function [-Werror=return-type] } ^

c# - 类设计指南中的算术运算符和方法

java - 如何将一个类中 boolean 方法的结果获取到Java中另一个类的if语句中?

c++ - 如何制作简化版的 boost::variant?

Javascript - 如何扩展此脚本以合并另一个类更改?

java - Java中的默认构造函数

java - 如何使用反射动态获取调用者实例的实例

c++ - 继承和纯虚函数

c++ - OpenGL:在两个元素之间画线