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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,5f0f4bfb0467bb19 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.59.229 with SMTP id c5mr4952571pbr.6.1320909600880; Wed, 09 Nov 2011 23:20:00 -0800 (PST) Path: h5ni20813pba.0!nntp.google.com!news2.google.com!postnews.google.com!g7g2000vbd.googlegroups.com!not-for-mail From: AdaMagica Newsgroups: comp.lang.ada Subject: Re: Constructors with multiple inheritance Date: Wed, 9 Nov 2011 23:20:00 -0800 (PST) Organization: http://groups.google.com Message-ID: References: <11513972.2788.1317325228383.JavaMail.geo-discussion-forums@yqnv12> <1rj1mmkvwud1d.dzqoy4jhdfca$.dlg@40tude.net> <4976045.4489.1317352313370.JavaMail.geo-discussion-forums@yqjw35> <2pu3h5hqltxi$.ze4yrf1f2y8z.dlg@40tude.net> <23774546.1654.1317391464047.JavaMail.geo-discussion-forums@yqnk41> <1gnrks1djlaok.1k0r5f8z9ylfx.dlg@40tude.net> <21605158.153.1320805494018.JavaMail.geo-discussion-forums@yqiu15> <6366850.176.1320896821400.JavaMail.geo-discussion-forums@yqcm23> NNTP-Posting-Host: 80.156.44.178 Mime-Version: 1.0 X-Trace: posting.google.com 1320909600 462 127.0.0.1 (10 Nov 2011 07:20:00 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Thu, 10 Nov 2011 07:20:00 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: g7g2000vbd.googlegroups.com; posting-host=80.156.44.178; posting-account=rmHyLAoAAADSQmMWJF0a_815Fdd96RDf User-Agent: G2/1.0 X-Google-Web-Client: true X-Google-Header-Order: HUALESRCNK X-HTTP-UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1,gzip(gfe) Xref: news2.google.com comp.lang.ada:14387 Content-Type: text/plain; charset=ISO-8859-1 Date: 2011-11-09T23:20:00-08:00 List-Id: What I have to add: Construct is a primitive operation of Par_Class (a method) because it has a return value of this type. However, upon derivation, is becomes abstract and must be overridden, but most probably will be useless, since new parameters will be needed. So constructor functions should perhaps preferably not be primitive. You can do this be declaring Construct in a nested package. Note that you don't need access parameters. As Randy Brukard repeats to say: Do not use access parameters and do not use access types. The new container library can help avoid access types.