Hardware interview practice
Downcasting
What is the result of the cast?
Starting point
Question code
class B; endclass
class D extends B; int tag = 9; endclass
B b; D original, d;
initial begin
original = new;
b = original;
if ($cast(d, b)) $display("%0d", d.tag);
else $display("fail");
endChoose one
Answer choices
- A. It prints 9
- B. It prints fail
- C. The cast allocates a new D and prints 0
- D. The cast is illegal because b is declared as B
