virtual-by-default rant
Simen Kjærås
simen.kjaras at gmail.com
Sat Mar 17 18:49:22 PDT 2012
On Sun, 18 Mar 2012 02:23:31 +0100, Manu <turkeyman at gmail.com> wrote:
> The virtual model broken. I've complained about it lots, and people
> always
> say "stfu, use 'final:' at the top of your class".
>
> That sounds tolerable in theory, except there's no 'virtual' keyword to
> keep the virtual-ness of those 1-2 virtual functions I have... so it's no
> good (unless I rearrange my class, breaking the logical grouping of stuff
> in it).
> So I try that, and when I do, it complains: "Error: variable
> demu.memmap.MemMap.machine final cannot be applied to variable",
> allegedly
> a D1 remnant.
> So what do I do? Another workaround? Tag everything as final
> individually?
class Foo {
final {
// Final functions here.
}
// Virtual functions here.
}
Good?
> My minimum recommendation: D needs an explicit 'virtual' keyword, and to
> fix that D1 bug, so putting final: at the top of your class works, and
> everything from there works as it should.
I agree that a virtual keyword would sometimes be a boon. With the solution
outlined above, I find it a minor nit, though.
More information about the Digitalmars-d
mailing list