下面代碼中的對象已經實例化一次,對吧?所以實例化的單個對象應該包含一個值爲2的整數i字段。爲什麼p.i
給出1而不是2?這是特定於SystemVerilog嗎?或者所有的操作語言都有相似的表現?系統verilog/oop
class Packet;
integer i = 1;
function integer get();
get = i;
endfunction
endclass
class LinkedPacket extends Packet;
integer i = 2;
function integer get();
get = -i;
endfunction
endclass
LinkedPacket lp = new;
Packet p = lp;
j = p.i; // j = 1, not 2
j = p.get(); // j = 1, not -1 or –2
感謝
在第一行多行類/函數定義的末尾添加分號似乎會讓人感到困惑,因爲分號在其他地方用於指示語句結束。 SystemVerilog是否需要? – JAB 2012-07-24 19:32:17