A parameterized class can extend another parameterized class. For example:
class C #(type T = bit); ... endclass // base class
class D1 #(type P = real) extends C; // T is bit (the default)
class D2 #(type P = real) extends C #(integer); // T is integer
class D3 #(type P = real) extends C #(P); // T is P
Class D1 extends the base class C using the base class’s default type (bit) parameter. Class D2 extends the base
class C using an integer parameter. Class D3 extends the base class C using the parameterized type (P) with
which the extended class is parameterized.