背景:uvm验证平台中类的实例化
问题:在uvm平台中定义一个class时候,其中会包含一个new函数。在实例化该class的时候,需要调用一个new()函数,请问这个new()函数是systemverilog中的的内建函数,还是class中定义的这个new()函数?
eg:
定义一个class
class Packet;
int var_0;
int var_1;
extern function new(string name = "Packet");
endclass
function Packet::new(string name = "Packet")
spuer.new(name);
endfunction : new
实例化上面定义的class
Packet A;
A = new();//情况1:这里的这个new()函数是类中定义的new函数吗???
//情况2:还有一种情况,类Packet中没有定义那个new()函数,但是实例化的时候还是需要调用这个new()的。
问题
情况1、情况2分别是中分别调用的是哪个new()函数,希望分开说一下,并且有原理来源更好。