d future or plans for d3

bearophile bearophileHUGS at lycos.com
Tue Dec 20 02:54:23 PST 2011


Froglegs:

>   One thing I'm not sure about, D classes are virtual by default, 
> but if you mark all functions as final does the class still 
> contain a VFP or any other cruft?

Even D final classes, that do not have virtual methods, have a pointer to virtual table. It's used to know what class the instance is (for reflection too and for the destructor).


>   Also why are class functions virtual by default? My experience 
> in C++ is that I rarely use virtual, so I don't really understand 
> why that is the default.

Maybe because D OO design copies Java OO design a lot. But even in C# methods are not virtual on default.

Bye,
bearophile


More information about the Digitalmars-d mailing list