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=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.4 X-Google-Thread: 103376,cf56949c9ced83a9 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!proxad.net!usenet-fr.net!enst.fr!melchior!cuivre.fr.eu.org!melchior.frmug.org!not-for-mail From: Stephen Leake Newsgroups: comp.lang.ada Subject: Re: implicit cast and inheritance Date: 02 Oct 2004 17:35:22 -0400 Organization: Cuivre, Argent, Or Message-ID: References: NNTP-Posting-Host: lovelace.ada-france.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: melchior.cuivre.fr.eu.org 1096752936 8010 212.85.156.195 (2 Oct 2004 21:35:36 GMT) X-Complaints-To: usenet@melchior.cuivre.fr.eu.org NNTP-Posting-Date: Sat, 2 Oct 2004 21:35:36 +0000 (UTC) To: comp.lang.ada@ada-france.org Return-Path: In-Reply-To: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at ada-france.org X-BeenThere: comp.lang.ada@ada-france.org X-Mailman-Version: 2.1.4 Precedence: list List-Id: "Gateway to the comp.lang.ada Usenet newsgroup" List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Xref: g2news1.google.com comp.lang.ada:4579 Date: 2004-10-02T17:35:22-04:00 "Rick Santa-Cruz" writes: > So an implict cast will be done from Derived to Base, so that the body of > the Base_Proc(B: Base) method can be called. Is this correct? It's "type conversion" in Ada, but yes. > You told me, that in the package the following will be declared: > procedure Base_Proc (B : Derived); But what's then with the body of > Pack? Will there be an body of Base_Proc(B: Derived) which is the > same as Base_Proc(B: Base), or how does it work? There is only one body, called for both declarations. > >> If it is in the same package, is then always implicitly done a > >> cast, or is the procedure Base_Proc in the derived class > >> "Derived" automatically defined with a parameter Type "Derived"? > > > > There is a difference between declaring a subprogram and providing an > > implementation for it. > Sadly, I don't understand what you mean with this. Just that, as above, sometimes you have two declarations of subprograms, but only one body. This will get more confusing with Ada 2005, which will have Java-style interfaces :). I suggest you buy "Ada as a Second Language" by Norm Cohen. He explains all of these things better than I do, and you are clearly ready for that level of book. It's available from Amazon.com, $87 new, $30 used. I hope he writes an update for 2005. -- -- Stephe