微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > system verilog virtual函数

system verilog virtual函数

时间:10-02 整理:3721RD 点击:
class a{
virtual function int add() ;
}
endclass
build_phase()
add();
endphase

class b extends a{}
fucntion int add();
endclass
build_phase()
super.build_phase();
endphase
b实例化时,在运行build_phase时,调用lb类的add函数。为什么b实例化时没有直接调用add函数,build_phase也会运行b类胡函数?

不是应该在b类对象里调用add时才会用b类的add函数吗

b类没有直接调用add函数,而是在运行super.build_phase时调用了add函数,为什么这时运行的是b类里的add,不是a类里的add?

因为a中的是virtual function, 所谓的重载特性。子类不会再调用父类的function了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top