I have a snippet:

  import std.stdio;
  import std.algorithm;

  abstract class A {
      int height = 0;
  }

  class B : A {
  }

  class C : A {
      int height = 1;
  }

  void main() {
      A[][int] list;
      list[0] = new A[](0);
      list[0] ~= new B();
      list[0] ~= new C();
      list[0] ~= new B();
      writeln(list[0].map!(x=>x.height));
  }

The output of this is [0, 0, 0] when if height was overridden it should print [0, 1, 0]. This is a trivial case for simplicity of the question, but in my actual code, I am trying to use the height field for sorting the A[] list (or reducing with max to get the object with the max height), but since they're all 0, none of the sorting occurs.

How do I override this height field?

Thanks

Reply via email to