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.

Reply via email to