From: Georg Bauhaus <sb463ba@l1-hrz.uni-duisburg.de>
Subject: Re: oo programing help needed?
Date: Sat, 6 Dec 2003 12:23:38 +0000 (UTC)
Date: 2003-12-06T12:23:38+00:00 [thread overview]
Message-ID: <bqshoa$h1g$1@a1-hrz.uni-duisburg.de> (raw)
In-Reply-To: 4948f537.0312060221.6edfa391@posting.google.com
shoko <shoko2004@hotmail.com> wrote:
: i have the following:
: ------------------------------------------
: package one is
: type one is tagged private;
: type one_ptr is access all one'class;
:
: procedure set_name(name:String;this:in out one);
: function get_name(this:one) return string;
:
: private
: type one is tagged
: record
: name:String(1..256);
: end record;
:
:
: end one ;
...
: -------------------------------------------
: package body three is
: function get_name(this:three) return string
: s:string(1..10);
: begin
: return s+ this.name; <-- no selector "name" for type three
: end get_name;
In the definition of one in package one, you have chosen to
hide .name from view. But then you select a .name component
from within the body of package three, which as a package
is just any package, and thus cannot see the private
part of package one. (You could use get_name in three
because it is not in the private part of one. This might
be a good thing to do anyway as it respects the contract
for dealing with ones using one's public operations.)
-- Georg
next prev parent reply other threads:[~2003-12-06 12:23 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-12-06 10:21 oo programing help needed? shoko
2003-12-06 12:23 ` Georg Bauhaus [this message]
2003-12-06 14:11 ` Stephen Leake
2003-12-06 15:50 ` Steve
2003-12-06 13:46 ` Martin Krischik
2003-12-07 2:42 ` Jeffrey Carter
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox