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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: child class of limited_controlled not inheriting data Date: Fri, 05 Aug 2016 20:36:21 +0100 Organization: A noiseless patient Spider Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="809230ccffd7ccb97232ccf9bda16930"; logging-data="14897"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1954jlSYmzX8+4V+D1vDnHl1IcMVtnj5Ro=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (darwin) Cancel-Lock: sha1:6y2F4IgXMMZ34raO+dewkQf7Kfg= sha1:wQ8eJrLGe1O7eBQdsy4cJix30Gk= Xref: news.eternal-september.org comp.lang.ada:31299 Date: 2016-08-05T20:36:21+01:00 List-Id: b.mcguinness747@gmail.com writes: > Then I defined a child class as > > with sofa.time.two_part_date; > > package sofa.time.Julian_Day_Numbers is > type Julian_Day_Number is new sofa.time.two_part_date.Date with null record; > > function To_Julian_Day_Number (time : Instant) return Julian_Day_Number; > function To_Calendar_Date (this : Julian_Day_Number; calendar : Calendar_Type := GREGORIAN; zone : Time_Zone_Number := 0) return Instant; > function To_Milliseconds (this : Julian_Day_Number) return Integer; > > end sofa.time.Julian_Day_Numbers; > > > When I try to compile the child class, I get error messages such as > > sofa-time-julian_day_numbers.adb:77:79: "day_count" is not a component > of type "Julian_Day_Number" defined at sofa-time-julian_day_numbers.ads:4 > > indicating that the child class is not inheriting the data from the > parent class. You would need to put the julian day stuff in a child package: package sofa.time.two_part_date.Julian_Day_Numbers ... Otherwise there's no visibility of the private part of two_part_date.