$monitor is not printing the all value changes when class variable is used inside the system task

In reply to Naven8:

I would never use $monitor. You are only allowed one active $monitor in your entire simulation. $monitor was used as an interactive debugging aid for Verilog-XL, which used Verilog as its tool command language.

As Naven8 write, there is also a problem if you try to reference a null class variable at time 0, you will get a fatal error.

If you really want to see the result of a class object after calling randomize(), then create a post_randomize() method in the class to display the results.