Xref: utzoo comp.lang.c++:6193 gnu.g++.bug:1376 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!brutus.cs.uiuc.edu!jarthur!uci-ics!gateway From: rfg@paris.ics.uci.edu (Ron Guilmette) Newsgroups: comp.lang.c++,gnu.g++.bug Subject: Accessing private base class members in a derived class Message-ID: <25B91BD0.28838@paris.ics.uci.edu> Date: 21 Jan 90 02:17:51 GMT Organization: UC Irvine Department of ICS Lines: 45 // g++-01209001.bug.C // Both g++ (1.36.1) and Cfront 2.0 flag an error on attempts to call // a private function member of a base class from within a function // member of a class derived from that base class. // The cfront 2.0 manual says (10.0): "Unless redefined in the derived // class, members of a base class can be referred to as if they were // members of the derived class. // Did I miss something? class base { private: void base_private (void) { } public: base () {} }; class derived : public base { private: void derived_private (void) { } public: void bar (void) { base base_object; derived derived_object; base_object.base_private (); /* ERROR ??? */ derived_object.base_private (); /* ERROR ??? */ derived_object.derived_private (); /* OK */ base_private (); /* ERROR ??? */ derived_private (); /* OK */ } };