From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,b18ccf7d301fe37 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-04-23 01:36:58 PST Path: archiver1.google.com!postnews1.google.com!not-for-mail From: michael.jackson5@virgin.net (Mike) Newsgroups: comp.lang.ada Subject: Re: Invoking abstract subprograms in Ada95 Date: 23 Apr 2002 01:36:58 -0700 Organization: http://groups.google.com/ Message-ID: <2dbd76f3.0204230036.3b047f06@posting.google.com> References: NNTP-Posting-Host: 195.166.25.148 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1019551018 15279 127.0.0.1 (23 Apr 2002 08:36:58 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: 23 Apr 2002 08:36:58 GMT Xref: archiver1.google.com comp.lang.ada:22977 Date: 2002-04-23T08:36:58+00:00 List-Id: "Grein, Christoph" wrote in message news:... > Class-wide operations cannot be abstract, they also cannot be overrridden. > > OK, they can be abstract, this is why your code compiles, but abstractness here > has a devastating meaning: There can never be such an operation! Aha. Now I see the error of my ways. > > > > end abstract_bit; > > > > -- > > package body abstract_bit is > > > > procedure generalOperation( this : in out A'class ) is > > begin > > specificOperation( this => this ); > > You said it was abstract, so does not exist! Therefore you cannot call it here. Weeell in my mind, for generalOperation to be invoked, 'A' must have been extended sufficiently to be non abstract, and therefore an implementation of specificOperation *must* exist ;) Thanks for the help! Mike