Weed Wrote: > Weed �����: > > Bill Baxter �����: > >> 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. > > > > Why? > > > > What if I have not substantiated the fact that c1 is a class I should > > use there a structure? > > > > Used in D a model of placement classes only in heap have a rule "if you > > made the class and trying to pass it by value is somewhere in your code, > > there is a design error? > > Explains why the question is given in this form: > > I am received or wrote a classes. Is it right to overload the operator > opAdd and use them? I think yes. > > But why not allow this operation at the same speed that allows C++?
If you pass it by value you'll lose polymorphism. That must mean that you inherit that class only to avoid duplicating code. And that is easily done with template mixins.
