Path: utzoo!utgpu!utstat!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!tut.cis.ohio-state.edu!att!dptg!ulysses!andante!alice!bs From: bs@alice.UUCP (Bjarne Stroustrup) Newsgroups: comp.lang.c++ Subject: Re: Class scope and virtual functions Message-ID: <10124@alice.UUCP> Date: 13 Nov 89 00:51:46 GMT References: <21847@gryphon.COM> <10935@csli.Stanford.EDU> <22142@gryphon.COM> Distribution: na Organization: AT&T Bell Laboratories, Murray Hill NJ Lines: 21 `baseclassname::f()' calls the function `f' declared in `baseclassname' or one of its base classes. The call is checked for ambiguity of `f' in `baseclassname'. As noted, the most common use of this is to call a function f() from a base class from a function f() in a derived class. This was always so. It will remain so. I will make sure that the reference manual is precise and explicit about this. I guess that the most obvious facts are also the easierst ones to forget to mention. Sorry. The `inherited::f()' idea works only for single inheritance - that was why is wasn't used. It seems that this notation can be added to C++ with multiple inheritance without much trouble but that does not in itself prove that it ought to be added. We'll see.