小编Sup*_*eth的帖子

如何在gdb中打印多态对象的ptype

考虑如下所示的简单类:

在此输入图像描述

当我们在 gdb 会话中打印 b 或 d 的 ptype 时,它​​将打印基类(如预期)。

但从逻辑上来说这是不正确的。有没有办法打印对象的实际类型(基于多态行为)?

例如:-

$ ptype b

type = class Base {
  public:
    virtual void display(void) const;
}

$ ptype d

type = class Derived : public Base {
  public:
    virtual void display(void) const;
}
Run Code Online (Sandbox Code Playgroud)

c++ polymorphism gdb

1
推荐指数
1
解决办法
534
查看次数

标签 统计

c++ ×1

gdb ×1

polymorphism ×1