From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Pass by reference
Date: Sat, 10 Apr 2004 12:49:34 +0200
Date: 2004-04-10T12:49:34+02:00 [thread overview]
Message-ID: <c58jgb$2qh7ca$4@ID-77047.news.uni-berlin.de> (raw)
In-Reply-To: 19b0e504.0404091109.134587c6@posting.google.com
Dan McLeran wrote:
>> This need not to be tagged, because there is no dispatching subroutines
>> here. A rough C++ equivalent of a tagged type is a class with virtual
>> functions.
>
> Quite right. This is a better example:
>
> struct Silly
> {
> virtual int Get()
> {
> return i;
> }
> private:
> int i;
> };
You have to add a friend function, because in C++ Silly will be passed to
Get() by reference as in Ada:
type Silly is tagged private;
function Get (Object : Silly) return Integer;
private
type Silly is tagged record
I : Integer;
end record;
So the difference between C++ and Ada is rather marginal here. But as I
said, I think it would be better to leave the choice to the compiler (in
the case of non-limited tagged types.)
--
Regards,
Dmitry A. Kazakov
www.dmitry-kazakov.de
next prev parent reply other threads:[~2004-04-10 10:49 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-08 14:52 Pass by reference Dan McLeran
2004-04-08 18:21 ` Martin Krischik
2004-04-09 12:53 ` Dan McLeran
2004-04-13 12:42 ` Martin Krischik
2004-04-08 19:04 ` Jim Rogers
2004-04-09 3:24 ` Dan McLeran
2004-04-09 0:01 ` Stephen Leake
2004-04-09 12:38 ` Dan McLeran
2004-04-09 13:03 ` Dmitry A. Kazakov
2004-04-09 19:09 ` Dan McLeran
2004-04-10 10:49 ` Dmitry A. Kazakov [this message]
2004-04-11 12:43 ` Florian Weimer
2004-04-12 10:29 ` Dmitry A. Kazakov
2004-04-12 12:29 ` Samuel Tardieu
2004-04-13 8:46 ` Dmitry A. Kazakov
2004-04-10 1:42 ` Stephen Leake
2004-04-10 16:05 ` chris
2004-04-09 12:44 ` Dan McLeran
2004-04-09 22:44 ` Randy Brukardt
2004-04-09 14:44 ` Simon Wright
2004-04-09 1:15 ` Jeffrey Carter
2004-04-09 1:28 ` Pat Rogers
2004-04-10 1:05 ` Jeffrey Carter
2004-04-09 12:57 ` Dan McLeran
2004-04-10 1:16 ` Jeffrey Carter
2004-04-09 4:03 ` Steve
2004-04-09 14:50 ` Simon Wright
2004-04-09 17:12 ` Pat Rogers
2004-04-09 19:33 ` Vinzent 'Gadget' Hoefler
2004-04-10 6:33 ` Simon Wright
2004-04-13 10:26 ` Vinzent 'Gadget' Hoefler
2004-04-14 17:27 ` Simon Wright
2004-04-15 9:43 ` Vinzent 'Gadget' Hoefler
2004-04-17 7:59 ` Simon Wright
2004-04-11 12:45 ` Florian Weimer
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox