Path: utzoo!utgpu!utstat!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!milano!cadillac!sunburn!dsouza From: dsouza@mcc.com [Desmond D'Souza] Newsgroups: comp.lang.c++ Subject: Private Derivation and Access Control Message-ID: <4053@cadillac.CAD.MCC.COM> Date: 17 Nov 89 20:57:54 GMT Sender: news@cadillac.CAD.MCC.COM Reply-To: dsouza@mcc.com Distribution: na Organization: MCC VLSI-CAD Program, Austin, TX Lines: 30 According to (my reading of) Lippman on Private Derivation, p.318 "The class designer can exempt individual members of the base class from the effects of private derivation" i.e. selected members of the private base class may be promoted in visibility in the derived class. One simply names the base members in the :public (or :protected) section of the derived class. The example provided, however, says that this specification cannot specify the return type or signature of the base member function. Is it then true that for an OVERLOADED member function in the base class, exempting that member by name in the derived class will exempt all overloaded base instances of it ? I would want it to. e.g. class B { public: f(); f(int); } ; class D { public: B::f ; } ; // Are B::f() and B::f(int) visible to clients of D ? Thanks Desmond. Desmond D'Souza, MCC CAD Program | ARPA: dsouza@mcc.com | Phone: [512] 338-3324 Box 200195, Austin, TX 78720 | UUCP: {uunet,harvard,gatech,pyramid}!cs.utexas.edu!milano!cadillac!dsouza