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 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,26a21b9e317dc639 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.66.88.200 with SMTP id bi8mr3219692pab.27.1353409169020; Tue, 20 Nov 2012 02:59:29 -0800 (PST) Path: s9ni1536pbb.0!nntp.google.com!news.glorb.com!feeder.erje.net!eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail From: Brian Drummond Newsgroups: comp.lang.ada Subject: Re: Access type to member procedure of instance (Object Oriented programming in Ada) Date: Tue, 20 Nov 2012 10:59:28 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <9b0bcb37-8ae3-440f-af4f-a796702e4250@googlegroups.com> <49cdda31-d0bd-42f2-8076-65504105d07e@googlegroups.com> Mime-Version: 1.0 Injection-Date: Tue, 20 Nov 2012 10:59:28 +0000 (UTC) Injection-Info: mx04.eternal-september.org; posting-host="dfff62e1e537b55df42008571c03e0fe"; logging-data="1599"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18/IlYI56UaciZvJhY3n3grksPIj26fskE=" User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2) Cancel-Lock: sha1:oYnWVNDztTAtVZESyPeEfGdGqrU= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Date: 2012-11-20T10:59:28+00:00 List-Id: On Mon, 19 Nov 2012 12:02:27 -0500, Peter C. Chapin wrote: > FWIW C++ does have a "pointer to member" feature. It looks like this > > class Example { > public: > void f( int ); > }; > > // Declare p to be "pointer to member function of Example... > // Initialize p to point at Example::f. > void (Example::*p)( int ) = &Example::f; > > Example object; // Create an object. > object.*p(42); // Invoke member f indirectly on 'object' This is practically identical to the Ada version in the "yes" part of my answer. It works by explicitly supplying "object" as the first parameter. Unfortunately I don't think it's what the OP was really asking for... - Brian