Steven Schveighoffer wrote:
On Fri, 27 Nov 2009 18:32:21 -0500, Walter Bright <newshou...@digitalmars.com> wrote:

Making them not virtual would also make them not overridable, they'd all be implicitly final.

Is there any compelling use case for virtual operator overloads? Keep in mind that any non-virtual function can still be a wrapper for another virtual method, so it is still possible (with a bit of extra work) for a class to have virtual operator overloads. It just wouldn't be the default.

I use virtual operator overloads in dcollections. Such as opCat and opAppend.

collection1 ~= collection2; // 2 different collection types, using interfaces instead of templates to avoid code bloat.

Also, opApply should be by default virtual, since it's not a true operator.

Would you put up with a couple of forwarding functions?

Andrei

Reply via email to