在Systemverilog中需要为class个对象调用构造函数吗?

Do you need to call the constructor for class objects in Systemverilog?

我有一个 class,class 中的一个元素是另一个 class。我是否需要在 class 本身的构造函数中调用元素的构造函数?例如:

class my_class;
  element_class A;

  function new ();
    A = new(123);
  endfunction
endclass


class element_class;
  int B;

  function new(int init_value);
    B = init_value;
  endfunction
endclass

是否需要 "my_class" 中的构造函数调用,或者您可以只执行以下操作:

class my_class;
  element_class A;

  function new ();
    A.B = 123;
  endfunction
endclass


class element_class;
  int B;

  function new(int init_value);
    B = init_value;
  endfunction
endclass

SystemVerilog 中的所有 classes 都需要先调用它们的构造函数,然后才能引用该 class 对象的任何成员。