System verilog 在执行派生的_class_obj.sprint()时,是否有隐藏打印基类属性的方法;
这里有一个例子System verilog 在执行派生的_class_obj.sprint()时,是否有隐藏打印基类属性的方法;,system-verilog,uvm,System Verilog,Uvm,这里有一个例子 class A1 extends uvm_object; int z; ... endclass class B1 extends A1; ... endclass class C1 extends A1; B1 b_obj; ... endclass 现在从一些uvm_组件来看,c1c_obj=new()。。。c_obj.sprint()将int z打印为C1从A1扩展的两倍,并且具有B1类的成员对象,B1类也从A1扩展 调用派生的\u class.spr
class A1 extends uvm_object;
int z;
...
endclass
class B1 extends A1;
...
endclass
class C1 extends A1;
B1 b_obj;
...
endclass
现在从一些uvm_组件来看,c1c_obj=new()。。。c_obj.sprint()代码>将int z打印为C1从A1扩展的两倍,并且具有B1类的成员对象,B1类也从A1扩展
调用派生的\u class.sprint()
时,是否有方法禁止打印基类的成员
提前感谢。我们可以通过在所有类中保留不同的变量来进行条件打印,并且在相应的类中,do_print方法使用该变量来打印变量。将其声明为local
,然后进行检查。您是否在C1的sprint函数中调用b_obj.sprint()?