下面代码中的对象已经实例化一次,对吧?所以实例化的单个对象应该包含一个值为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