comp.lang.ada
 help / color / mirror / Atom feed
From: Mats Weber <Mats.Weber@elca-matrix.ch>
Subject: Re: Help - Constructors - ASAP.
Date: 1998/07/31
Date: 1998-07-31T00:00:00+00:00	[thread overview]
Message-ID: <35C1043E.9FFB23D0@elca-matrix.ch> (raw)
In-Reply-To: 6pqdr2$hn2$1@nnrp1.dejanews.com

tedennison@my-dejanews.com wrote:

> 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.

That garbage value will be a value of the parent type, and assigning it to an
object of the Child type, or to an object of type Child'Class, will raise
Constraint_Error, so the problem will not go undetected. If your contructors
are not class-wide and not primitive, then you detect the problem at compile 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.

If you do that, you will run into all sorts of ambiguous call situations where
you will have to qualify your expressions.






  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         ` Mats Weber [this message]
1998-07-31  0:00           ` dennison
1998-08-01  0:00             ` Robert Dewar
1998-08-01  0:00               ` Matthew Heaney
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-07-31  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