abstract base class and class members
Jonathan M Davis
jmdavisProg at gmx.com
Sun Mar 4 12:24:12 PST 2012
On Sunday, March 04, 2012 19:36:20 David wrote:
> Am 04.03.2012 19:22, schrieb H. S. Teoh:
> > On Sun, Mar 04, 2012 at 06:22:47PM +0100, Timon Gehr wrote:
> >> On 03/04/2012 06:16 PM, David wrote:
> >>> Is this intended behaviour? http://ideone.com/xrvvL
> >>>
> >>> shouldn't the 2nd writeln print the same as the first, well at least the
> >>> same content of i?
> >>
> >> This is intended behaviour. You have two distinct definitions of i.
> >> If you want to set i to 2 in the derived class, do so in the class
> >> constructor.
> >
> > Yeah, only member functions can be overridden in the derived class (and
> > even then, D requires you to explicitly state that with the 'override'
> > keyword).
> >
> > Makes one wonder, though... from an OO perspective, does it make sense
> > to have overridable non-function members? What semantics would (should)
> > that have?
> >
> >
> > T
>
> Thanks for your answers.
>
> Maybe we should also allow override for fields.
Variables can't be polymorphic, and it wouldn't make sense for them to be.
Overidding is done to change behavior.
By the way, I wouldn't rely on much that ideone says about D at this point.
It's still on version 2.042 of dmd, whereas the latest release is 2.058.
- Jonathan M Davis
More information about the Digitalmars-d-learn
mailing list