program test;
class Packet;
virtual task display();
$display("Parent!");
endtask
endclass: Packet
class My_Packet extends Packet;
virtual task display();
$display("Child!");
endtask
endclass: My_Packet
task my_print( Packet p );
p.display();
endtask: my_print
initial begin
Packet p = new;
My_Packetmy_p = new;
p.display();
my_p.display();
my_print(p);
my_print(my_p);
end
endprogram