Bill Baxter wrote:
On Sun, Feb 22, 2009 at 5:10 AM, Denis Koroskin<[email protected]> wrote:
On Sat, 21 Feb 2009 21:49:46 +0300, Bill Baxter<[email protected]> wrote:
On Sun, Feb 22, 2009 at 1:02 AM, Weed<[email protected]> wrote:
Bill Baxter пишет:
2009/2/21 Weed<[email protected]>:
Weed пишет:
Bill Baxter пишет:
Why don't you just show us the class in the way you would like to
write it in C++, and we'll show you how to write it in D, or finally
agree with you that it's not possible. But as long as you continue
to be hand-wavy about "common base classes" we're at a bit of an
impasse. So far everyone thinks D can do what you want it to do
based
on your vague descriptions.
As I said, you can write everything using "goto" and "if".
...But why you do not like the original example of this thread?
Please post again. I don't seem to recall any detailed example.
--bb
http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D&artnum=83506
You should use a struct there! Your code does not show you doing
anything that would even remotely suggest using a class is worthwhile.
You're doing value operations on value types. That's what structs
are for.
--bb
That's what *everyone* tells him!
I am vaguely open to the possibility that he has a point. FLENS uses
inheritance, for instance. But I don't recall what the intent of that
inheritance was in FLENS, exactly. I more or less ported it to D
without that, though, so I guess I didn't find it to be essential.
See this:
http://flens.cvs.sourceforge.net/viewvc/flens/FLENS/matvec/densevector.h?revision=1.36&view=markup
Versus this:
http://www.dsource.org/projects/multiarray/browser/trunk/multiarray/dflat/DenseVector.d
Weed, if you want to make a real argument, that would be a good place
to start. Investigate why and how FLENS uses inheritance.
--bb
From a quick look at the flens DenseVector class:
it inherits from a Vector Interface which only declares the destructor
as virtual.
My educated guess is that this interface has a similar purpose to the
"struct interfaces" feature discussed here before - similar to C++ concepts.
I don't see any polymorphism here - the functions aren't virtual.