【system verilog】OOP属性下的构造函数new,虚方法virtual和cast方法(4)

前言

感觉这个标题可以作为小知识汇总的博文了,继续上次的写:

【system verilog】OOP属性下的构造函数new,虚方法virtual和cast方法(3)

父类句柄的小疑问

今天跟同事讨论父类和子类的问题,就是在(3)中讨论的那个指向问题,然后延伸出了另外一个问题:父类指向子类空间时,能否调用父类不存在的、子类拓展出来的方法?

我坚持是可以的,我都指向子类空间了,空间里的东西还不是随便我用?于是乎压了一顿饭。

回来之后做实验:

class father;
	int flow_id;
	
	function new(int id);
		$display("new father");
		flow_id = id;
	endfunction: new
	
endclass: father

class son extends father;
	
	function new();
		super.new(30);
		$display("new son, flow_id='d%0d", flow_id);
	endfunction: new
	
	virtual function son_note();
		$di
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尼德兰的喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值