Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!uunet!microsoft!jimad From: jimad@microsoft.UUCP (Jim ADCOCK) Newsgroups: comp.lang.c++ Subject: Re: Multiple Inheritance Message-ID: <59812@microsoft.UUCP> Date: 13 Dec 90 20:03:18 GMT References: Reply-To: jimad@microsoft.UUCP (Jim ADCOCK) Organization: Microsoft Corp., Redmond WA Lines: 69 In article fargo@iear.arts.rpi.edu (Irwin M. Fargo) writes: |I just recently learned C++ and am quite confused as to whether C++ was defined |to encompass multiple inheritance or not. .... |Both books have made mention of works done by Stroustrop, and I'm going to |look into those as I have a very good idea that Mr. Stroustrop had quite a |lot to do with the creation of C++. Bjarne Stroustr[u]p, with a 'u' actually. Stroustrup is the creator of the C++ language, and remains actively involved in the ANSI-fication effort, and occasionally posts to these notes streams and BIX, among other forums. |Anyways, what's going on here? Is multiple inheritance part of the original |definition? No, multiple inheritence was added at the first major revision. For some time the AT&T "cfront" implementation of C++ was the defacto definition of the language, and people got in the habit of trying to describe approximately what functionality other compilers supported in terms of the AT&T releases. Many authors of C++ books also use this informal numbering scheme. So a book corresponding to the 1.0 release is as old as they come. A book talking about 2.1 releases is as new as they come. You should try to read books that at least claim they are describing the "2.0" version of the language, since the language changed considerable between "1.2" and "2.0." Likewise, you should check that your compiler at least claims being "2.0" "compatible." Over the last couple of years, many authors with little experience in C++ rushed books to print, so you need to be careful picking your C++ texts. I am happy to say the C++ books I've seen published most recently [IE "1991" publishing dates] seem to be improving, and are from more credible authors -- so maybe publishing houses are beginning to recognize they can't get away with publishing anything about C++ anymore. Stroustrup has two books out. The first one "The C++ Programming Language" corresponds to about the 1.1 ? version of the language, so I only use that text as a historical reference -- until it gets updated to the 2.1 [3.0???] version of the language -- which might happen sometime soon, I'd hope? He has a much more recent and formal text: "The Annotated C++ Reference Manual" [by Ellis and Stroustrup] that is being used as the starting point for the C++ standardization effort, so this is a good, but difficult text to have, if one wants to know the intimate details of the language. Most C++ programmers have settled on Lippman "A C++ Primer" for a less formal text that pretty accurately describes the features of the 2.0 version of the language. But get both. |Will it become part of the C++ standard (whenever that comes |out) ? I believe so, yes. There are some vocal critics of multiple inheritence, but I believe they are in the minority. |Or is this just a discrepancy due to implementation differences? No, this is just the difference between the behavior of past releases verses today's releases. Also, templates [parameterized types] and exceptions have been voted "in" the standard by the standardization committee, so when one reads "experimental" disclaimers in current texts, one should rest assured that these features will become "standard" compiler offerings over the next couple of years.