From: Matthew Heaney <matthew_heaney@acm.org>
Subject: Re: Help - Constructors - ASAP.
Date: 1998/07/31
Date: 1998-07-31T00:00:00+00:00 [thread overview]
Message-ID: <m3hfzzw5cw.fsf@mheaney.ni.net> (raw)
In-Reply-To: 6pqdr2$hn2$1@nnrp1.dejanews.com
tedennison@my-dejanews.com writes:
> But what happens in the situation where the client (perhaps a different
> developer) wants to make a child class with fields that *must* be
> initialized? That seems a quite reasonable thing to do. But now the
> class-wide "constructor" isn't valid anymore. It can still be called for this
> new child object, but will return a garbage value.
No. It will bomb (by raising CE) at the point of assignment, because of
a tag mismatch. You'd be trying to assign an value of the parent type
to an object of the child type, which is illegal, and you'll therefore
get a tag mismatch at run-time.
> The only way I can see around this problem is to *also* declare a primitive
> constructor, and have the body of the class-wide consructor redispatch to
> that.
Never declare a constructor that is a primitive operation of the type.
next prev parent reply other threads:[~1998-07-31 0:00 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-07-23 0:00 Help - Constructors - ASAP Maxim Senin
1998-07-26 0:00 ` Matthew Heaney
1998-07-27 0:00 ` dennison
1998-07-30 0:00 ` Robert I. Eachus
1998-07-30 0:00 ` tedennison
1998-07-31 0:00 ` Matthew Heaney [this message]
1998-07-31 0:00 ` Mats Weber
1998-07-31 0:00 ` dennison
1998-08-01 0:00 ` Matthew Heaney
1998-08-01 0:00 ` Robert Dewar
1998-08-01 0:00 ` Matthew Heaney
1998-08-03 0:00 ` Mats Weber
1998-07-31 0:00 ` Robert I. Eachus
1998-08-01 0:00 ` Matthew Heaney
1998-08-01 0:00 ` Robert Dewar
1998-08-01 0:00 ` Matthew Heaney
1998-08-03 0:00 ` Mats Weber
1998-08-03 0:00 ` Matthew Heaney
1998-08-03 0:00 ` Mats Weber
1998-08-04 0:00 ` Matthew Heaney
1998-08-04 0:00 ` Mats Weber
1998-08-05 0:00 ` Matthew Heaney
1998-08-10 0:00 ` Robert I. Eachus
1998-08-03 0:00 ` tedennison
-- strict thread matches above, loose matches on Subject: below --
1998-07-15 0:00 Maxim Senin
1998-07-16 0:00 ` Stephen Leake
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox