首页 > 代码库 > $cast使用,父类与子类句柄(handle)的关系

$cast使用,父类与子类句柄(handle)的关系

?The handle of a child class can be assigned to a parent handle without any problem.
?Using $cast to assign the handle of a parent class to a child handle.
 

class Parent;

int m1 = 2;

endclass

 

class Child extends Parent;

int m2 = 5;

endclass

 

initial begin

Parent parent;

Child child1, child2 = new();

 

parent = child2;

child1 = parent;

$display("m2=%0d",child1.m2);

end

////////////////// simulation //////////////////

Error-[SV-ICA] Illegal class assignment

Expression ‘parent‘ on rhs is not a class or a compatible class and hence

  cannot be assigned to a class handle on lhs.

 

initial begin

Parent parent;

Child child1, child2 = new();

 

parent = child2;

$cast(child1 , parent);

$display("m2=%0d",child1.m2);

end

////////////////// simulation //////////////////

m2=5

$cast使用,父类与子类句柄(handle)的关系