Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!sun-barr!apple!Apple.COM!lsr From: lsr@Apple.COM (Larry Rosenstein) Newsgroups: comp.sys.mac.programmer Subject: Re: Think C 4.0 (really language differences) Message-ID: <3968@internal.Apple.COM> Date: 29 Aug 89 02:13:33 GMT Sender: usenet@Apple.COM Organization: Objects-R-Us, Apple Computer, Inc. Lines: 28 References:<227700036@uxa.cso.uiuc.edu> <10710@fluke.COM> In article <10710@fluke.COM> mce@tc.fluke.COM (Brian McElhinney) writes: > is no "inherited" keyword in C++ (it is a TC-ism). One of my (many) > complaints about C++ is that you have to explictly name the super class in > order to invoke it's methods. The syntax is "superclassname::method()". When we (Apple) tried to define a subset of C++ that matched Object Pascal, this was one of the things we asked Stroustrup about. The problem with using INHERITED as a keyword is that with multiple inheritance you may have multiple superclasses. I guess he didn't want to add another keyword that could only be used in the signel inheritance case (you would need to explicitly name the superclass in the multiple inheritance case anyway). In a sense, there are 4 dialects "C++-like languages". AT&T has both version 1.2 and 2.0 of C++, which are the "standards" (2.0 adds a bunch of language features, including multiple inheritance). There's GNU g++, which based on news articles I've read, has a few different features and C++, and there's minimal C++ (the language I mentioned above, which I assume is implemented by TC 4.0). Larry Rosenstein, Apple Computer, Inc. Object Specialist Internet: lsr@Apple.com UUCP: {nsc, sun}!apple!lsr AppleLink: Rosenstein1