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.2 required=5.0 tests=BAYES_00,FREEMAIL_FROM, FROM_STARTS_WITH_NUMS autolearn=no autolearn_force=no version=3.4.4 X-Received: by 10.107.161.143 with SMTP id k137mr9930262ioe.130.1518459420910; Mon, 12 Feb 2018 10:17:00 -0800 (PST) X-Received: by 10.157.87.93 with SMTP id x29mr469892oti.8.1518459420711; Mon, 12 Feb 2018 10:17:00 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!border1.nntp.ams1.giganews.com!nntp.giganews.com!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.am4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!o66no1053799ita.0!news-out.google.com!s63ni2576itb.0!nntp.google.com!w142no1059059ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 12 Feb 2018 10:17:00 -0800 (PST) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=82.154.189.221; posting-account=rhqvKAoAAABpikMmPHJSZh4400BboHwT NNTP-Posting-Host: 82.154.189.221 References: <634e9064-33f8-42c0-9032-e630f98c89d4@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: troubles learning OOP: expected type "Parent.Some_Child", found type Parent'Class From: Mehdi Saada <00120260a@gmail.com> Injection-Date: Mon, 12 Feb 2018 18:17:00 +0000 Content-Type: text/plain; charset="UTF-8" X-Received-Body-CRC: 4274288015 X-Received-Bytes: 1892 Xref: reader02.eternal-september.org comp.lang.ada:50391 Date: 2018-02-12T10:17:00-08:00 List-Id: ... Somehow, it doesn't surprise me anymore. > Get_Elem take T_Token'Class How could I do that, since it meant to RETURN a different type for each subclass ! > Token_Courant return T_Token_Operateur I don't even understand. Token_Courant returns the current entry in the vector, entry whose sub-class I can't know beforehand. > convert the result of Token_Courant to T_Token_Operateur. Sorry, I don't see the difference with proposition 1 Now, I know why I prefered mutant types even before using them. But since this exercice is explicitely about OOP, I'll stick with the current design.