comp.lang.ada
 help / color / mirror / Atom feed
From: Maciej Sobczak <no.spam@no.spam.com>
Subject: Re: Constructing an object
Date: Thu, 22 Sep 2005 09:45:24 +0200
Date: 2005-09-22T09:45:24+02:00	[thread overview]
Message-ID: <dgtnek$9b9$1@sunnews.cern.ch> (raw)
In-Reply-To: <dgtmec$6kp$1@sunnews.cern.ch>

Maciej Sobczak wrote:

>> 3. The default values:
> 
> OK, this solves some of the cases. In general, however, by 
> "initialization" I mean performing some actions (not just inventing 
> values), like acquire on external resources.

And I just realized that I don't have to use constants as default 
values, thay can come from functions...

>> 4. Initialization enforcement via discriminants:
>>
>> 4.a. Discriminants as members:

... and here those functions could even take the discriminant as a 
parameter:


function Get_New(Param : in SomeType) returns OtherType is
begin
     -- ...
end Get_Value;

type Record (Param : SomeType) is record
     X : OtherType := Get_New(Param);
end record;

A : Record(7);

This way, I can execute some action in order to initialize the object, 
and even use some parameters.

Further questions: Are there any restrictions on SomeType?


-- 
Maciej Sobczak : http://www.msobczak.com/
Programming    : http://www.msobczak.com/prog/



  reply	other threads:[~2005-09-22  7:45 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-21  8:46 Constructing an object Maciej Sobczak
2005-09-21 10:16 ` Georg Bauhaus
2005-09-22  7:21   ` Maciej Sobczak
2005-09-21 11:55 ` Dmitry A. Kazakov
2005-09-22  7:28   ` Maciej Sobczak
2005-09-22  7:45     ` Maciej Sobczak [this message]
2005-09-22 13:33       ` Dmitry A. Kazakov
2005-09-24  5:23         ` Randy Brukardt
2005-09-24  9:47           ` Dmitry A. Kazakov
2005-09-29  0:12             ` Randy Brukardt
2005-09-29  8:17               ` Dmitry A. Kazakov
2005-09-29 22:21                 ` Randy Brukardt
2005-09-30  8:14                   ` Jean-Pierre Rosen
2005-09-30 19:28                     ` Dmitry A. Kazakov
2005-09-30 17:49                   ` Robert A Duff
2005-10-01  0:44                     ` Randy Brukardt
2005-10-01 10:49                       ` Dmitry A. Kazakov
2005-10-01 11:06                       ` Tapio Kelloniemi
2005-10-01 14:13                         ` Robert A Duff
2005-10-02 11:52                           ` Tapio Kelloniemi
2005-10-01 15:19                       ` Georg Bauhaus
2005-09-23  5:40 ` Matthew Heaney
2005-09-23  7:18   ` tmoran
2005-09-23  8:23   ` Maciej Sobczak
2005-09-23 12:04     ` Dmitry A. Kazakov
2005-09-23 12:36       ` Matthew Heaney
2005-09-23 13:03         ` Hyman Rosen
2005-09-23 13:41           ` Maciej Sobczak
2005-09-23 14:23           ` Matthew Heaney
2006-01-17  6:28             ` [Offtopic] " James Dennett
2005-09-23 13:42         ` Dmitry A. Kazakov
2005-09-23 14:27           ` Matthew Heaney
2005-09-23 12:24     ` Matthew Heaney
2005-09-24  5:34       ` Randy Brukardt
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox