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=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: f43e6,b87849933931bc93 X-Google-Attributes: gidf43e6,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public From: Nick Leaton Subject: Re: What is wrong with OO ? Date: 1997/02/10 Message-ID: <32FF1199.615E@calfp.co.uk>#1/1 X-Deja-AN: 217781066 x-nntp-posting-host: calfp.demon.co.uk references: <32D11FD3.41C6@wi.leidenuniv.nl> <01bbd23a$5b667cc0$LocalHost@christophe-leph> <01bc0269$3fd55b20$ca61e426@DCorbit.solutionsiq.com> content-type: text/plain; charset=us-ascii mime-version: 1.0 newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng x-mailer: Mozilla 3.0Gold (X11; I; SunOS 5.5 sun4m) Date: 1997-02-10T00:00:00+00:00 List-Id: 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? If you provide the class to someone else without source code, and they find a bug. One solution to fixing the bug is to produce a new class that inherits the original, and redefines the offending routine. However your decision about declaring or not declaring the routine virtual in the first place affects what can be done. -- Nick