Xref: utzoo comp.lang.eiffel:1341 comp.object:2449 comp.lang.c++:11332 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!pdn!tscs!tct!chip From: chip@tct.uucp (Chip Salzenberg) Newsgroups: comp.lang.eiffel,comp.object,comp.lang.c++ Subject: Re: Inheritance and Information Hiding Message-ID: <27A44871.5586@tct.uucp> Date: 28 Jan 91 15:51:12 GMT References: <1991Jan23.224203.3206@runx.oz.au> <1991Jan24.214652.18515@Think.COM> Followup-To: comp.object,comp.lang.c++ Organization: Teltronics/TCT, Sarasota, FL Lines: 21 According to tynor@hydra.gatech.edu (Steve Tynor): >In practice, I've found C++ `private's to be overly restrictive and in >violation of the rule "it is not the buisiness for a class to decide how >it may be extended in the future" (paraphrased from OOSC). An interesting "rule" -- one with which I happen to disagree. In any case, language features don't stand up and say, "Use me!" Who can say that there will never be good reason to make members private? Not I -- even though I use "protected" five times more often than I use "private". >It's another example of a C++ feature that actually reduces the reusability >of C++ classes (non-virtual member functions being the other obvious one). Virtual functions are available when appropriate; but I'm just as glad that I need not pay the performance penalty when I don't need them. -- Chip Salzenberg at Teltronics/TCT , "If Usenet exists, then what is its mailing address?" -- me "c/o The Daily Planet, Metropolis." -- Jeff Daiell