vmm_data的派生類的new函式中,只是用靜態的log去初始化訊息服務視窗和通知視窗。vmm_data的stream_id和transactor相關,因此stream_id由transactor給出。同理,data_id 由generator在每產生乙個產品的時侯increase。
function new();
super.new(log);
endfunction
vmm_xactor基類已經準備好了vmm_log, vmm_notify介面,無需在派生類中進行額外處理。vmm_xactor的派生類在通過new建立物件的時侯,對stream_id進行賦值,以及inte***ce,name, instance
function new(string inst, int stream_id, chan_name in_chan=null, virtual xxif.tb if);
super.new("***", inst, stream_id);
if (in_chan == null) begin
in_chan = new("*** input channel",inst},
end
this.out_chan = out_chan;
this.if = if;
endfunction
類似的,vmm_atomic_gen產生generator的new函式如下
new(string inst, int stream_id, chan_name out_chan=null);
vmm_env自動給出了自己的log和notify。擴充套件類只需要在new中加上乙個virtual inte***ce
function new(virtual ***.if if);
super.new();
this.if=if;
endfunction
c 中的new 類建構函式 new
我們都知道在例項化乙個類時會使用這個類的 init 方法,但是在真實情況中類的例項化是分成兩個階段的,第一階段是使用該類的 new 方法例項化乙個物件,第二階段才是使用物件的 init 方法進行初始化。由於很多時候,第乙個階段被我們忽略了,所以看起來例項化類時只使用了 init 方法。既然在例項化類...
建構函式使用new的類
如果類使用new運算子來分配類成員指向的記憶體,在設計時應採取一些預防措施 應牢記這些規則,這是因為編譯器並不知道這些規則,因此無法發現錯誤 對於指向的記憶體是由new分配的所有類成員,都應在類的析構函式中對其使用delete,該運算子將釋放分配的記憶體 如果析構函式通過對指標類成員使用delete...
建構函式 new與this的解釋
1.什麼是建構函式?構造,就是初始化的意思 建構函式,是指 結合new建立物件 並 初始化物件裡各種屬性的 函式 在 new 物件時,跟在 new 後面的函式 就叫建構函式 2.a.命名規範 首字母都大寫,且一般為名詞 b.用法 通過new關鍵字來呼叫 強調 c.用法 為 new 關鍵字建立的空物件...