Confused virtual method down casting problem

In reply to chr_sue:

In reply to UVM_LOVE:
Yes this is the problem:

b_c = c_h;

I pass the simulation with only commented out b_c = c_h line
But I still didn’t get it.
Is there any special rule? I can’t find any illegal rule for this b_c = c_h line.
Could you give some guidance?

Can’t assign between different class type ? Only can between Family relationship (parents and child)?