From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: *** X-Spam-Status: No, score=3.8 required=5.0 tests=BAYES_00,INVALID_MSGID, RATWARE_MS_HASH,RATWARE_OUTLOOK_NONAME autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: f43e6,b87849933931bc93 X-Google-Attributes: gidf43e6,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public From: "John Brady" Subject: Re: What is wrong with OO ? Date: 1997/02/11 Message-ID: <01bc183a$831b3760$1544db03@gecmf-pc-eddjab.gecmf.capital.ge.com>#1/1 X-Deja-AN: 218458797 References: <5dopri$dei@news4.digex.net> Organization: GE Capital Motor Finance Newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng Date: 1997-02-11T00:00:00+00:00 List-Id: Ell wrote in article <5dopri$dei@news4.digex.net>... > Nick Leaton (nickle@calfp.co.uk) wrote: > : richard@highrise.nl wrote: > : > > : > Virtual functions are also a kind of documentation. When declaring a > : > function virtual, the programmer is more or less saying "go ahead, > : > override this function if you like." > : > > > : The decision to make a function virtual assumes a knowledge of what > : users of your class are going to do. It akin to predicting the future. > : One of the problems with C++ is this very point. Should you, as a > : designer of a class restrict what someone else does with your class? > > How does making inherited classes able to override a parent function > "restrict"ing "what someone else does with" that class"? > I think the point he is making is that if you DON'T make the function virtual, then other programmers CAN'T override it. Therefore, C++ programmers are forced to commit early to making a class overrideable or not. (I program in Delphi, and the same problem arises). The C++ critique, at http://www.progsoc.uts.edu.au/~geldridg/cpp/cppcv3, goes into this point in some depth. -- John Brady john.brady@gecmf.capital.ge.com