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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,f039470e8f537101 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-07-29 21:31:56 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!arclight.uoregon.edu!wn13feed!worldnet.att.net!199.45.49.37!cyclone1.gnilink.net!spamkiller2.gnilink.net!nwrdny03.gnilink.net.POSTED!53ab2750!not-for-mail From: Hyman Rosen User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5b) Gecko/20030723 Thunderbird/0.1 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Non-philosophical definition of Eiffel? References: <1058968422.225561@master.nyc.kbcfp.com> <3F200AD0.94F79098@adaworks.com> <7u9Ua.13412$634.10307@nwrdny03.gnilink.net> <3F215120.1040706@attbi.com> <1059151910.357790@master.nyc.kbcfp.com> <1059416297.548253@master.nyc.kbcfp.com> <1059510832.459614@master.nyc.kbcfp.com> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <%SHVa.979$7h6.789@nwrdny03.gnilink.net> Date: Wed, 30 Jul 2003 04:31:55 GMT NNTP-Posting-Host: 162.83.157.195 X-Complaints-To: abuse@verizon.net X-Trace: nwrdny03.gnilink.net 1059539515 162.83.157.195 (Wed, 30 Jul 2003 00:31:55 EDT) NNTP-Posting-Date: Wed, 30 Jul 2003 00:31:55 EDT Xref: archiver1.google.com comp.lang.ada:40983 Date: 2003-07-30T04:31:55+00:00 List-Id: Berend de Boer wrote: > The implementation of virtual constructors relies on a recent > modification to C++, namely virtual functions' covariance. There's no such thing as a virtual constructor in C++. Covariant return types are not a "recent" modification of C++ - they're in the Standard. > Fortunately I'm not a C++ expert so I can't really asses your claim > that the STL container libray offers the same functionality as an > Eiffel generic container library. But I really doubt it. Same functionality? They're containers. You put things in, you take things out. They come out with the same type they were put in with. The container holds things of exactly one type, so there's no casting. If you want a polymorphic container, you use a regular container of pointers to a common base type. If you're not a C++ expert but you know Ada, look up Matthew Heaney's Charles library, which does the same kind of thing in Ada.