帮我分析一下下面的代码
时间:10-02
整理:3721RD
点击:
求教各位,帮我分析一下下面的代码:
class rps_c ;
rps_t rps ;
int score ;
function bit comp(input rps_c a);
if(a.rps == this.rps)
return 1 ;
else
return 0 ;
endfunction
endclass
函数comp中的参数,是不是重新又定义了一个rps_c类的对象a,那这个对象作为函数参数(地址传递),用输入的类的对象a和本对象进行比较?
在c++中对象的方法的输入,好像只能是对象的属性,能不能是别的一些参数? 在system verilog中,对象的方法的输入可以是对象的属性,也可以是别的一些输入,对不对? 请教各位给解答一下。谢谢了。
class rps_c ;
rps_t rps ;
int score ;
function bit comp(input rps_c a);
if(a.rps == this.rps)
return 1 ;
else
return 0 ;
endfunction
endclass
函数comp中的参数,是不是重新又定义了一个rps_c类的对象a,那这个对象作为函数参数(地址传递),用输入的类的对象a和本对象进行比较?
在c++中对象的方法的输入,好像只能是对象的属性,能不能是别的一些参数? 在system verilog中,对象的方法的输入可以是对象的属性,也可以是别的一些输入,对不对? 请教各位给解答一下。谢谢了。
应该是可以的,SV中方法的参数确实不一定是该方法所在类的属性。
比较用的function,就是这么写的,
可以在函数的第一行检查一下a是否为null