My understanding as based on dlang.org:

On Wednesday, 10 April 2013 at 10:29:05 UTC, Regan Heath wrote:
Ok, lets Rewind for a sec. I need some educating on the actual issue and I want to go through the problem one case at a time..


#1 If I write a class..

class A
{
  public int isVirt()  { return 1; }
  public int notVirt() { return 2; }
}

and compile it with another class..

class B : A
{
  override public int isVirt() { return 5; }
}

and this main..

void main()
{
  A a = new B();
  a.isVirt();    // compiler makes a virtual call
  a.notVirt();   // but not here
}

Right?

No. A is not final. A has no internal linkage. It can be inherited from in other compilation unit. notVirt is virtual.

Other answers are matching ;)

Reply via email to