【发布时间】:2016-06-20 07:59:10
【问题描述】:
引用 SV LRM。
将子类类型的表达式分配给 继承树中较高的类类型的变量(超类 或表达式类型的祖先)。直接上车是违法的 将超类类型的变量分配给它的一个变量 子类类型。但是,$cast 可用于分配超类 提供超类句柄的子类类型变量的句柄 指的是与子类兼容的赋值对象 变量。
当我们尝试将超类实例分配给子类实例时,转换失败的场景是什么时候?我知道每当我们尝试投射两个彼此不兼容的实例时,投射都会失败。如果它们落在同一层次树下,铸造会随时失败吗?如果有,我可以知道什么时候吗?
【问题讨论】:
标签: oop inheritance casting system-verilog uvm