【问题标题】:How a instance static type cast form sub-class use the variable and function?一个实例静态类型强制转换形式子类如何使用变量和函数?
【发布时间】:2021-03-04 08:24:27
【问题描述】:

问题如上图:

答案是 2 1 3 3,但为什么呢?
我认为是 2 1 3 2,这意味着在 p2.get() 中,i = 1。

【问题讨论】:

    标签: system-verilog


    【解决方案1】:

    您将get() 声明为虚拟函数。

    这意味着它使用类句柄的类型 (packet_son) 来确定调用哪个函数,而不是类变量的类型 (packet)。

    你可能想看看我的course on SystemVerilog classes

    【讨论】:

    • 嗨,戴夫,感谢您的回答,但我仍然感到困惑。我知道p2使用packet_son的功能,但是为什么它使用packet_soni,而不使用packetidisplay(p2.i = %d), p2.i一样?提前致谢!
    • packet_son::get() 引用 this.i 而不是 p2.i
    猜你喜欢
    • 2019-11-26
    • 2014-02-16
    • 2020-12-29
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多