From 6416348557933613949
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f78e5,db4807a3f0a1e742
X-Google-Attributes: gidf78e5,public
X-Google-ArrivalTime: 1994-08-01 12:10:44 PST
Newsgroups: comp.std.c++
Path: bga.com!news.sprintlink.net!sundog.tiac.net!usenet.elf.com!news2.near.net!MathWorks.Com!yeshua.marcam.com!zip.eecs.umich.edu!newsxfer.itd.umich.edu!isclient.merit.edu!msuinfo!harbinger.cc.monash.edu.au!news.cs.su.oz.au!metro!news
From: maxtal@physics.su.OZ.AU (John Max Skaller)
Subject: Re: Multiple inheritance and delete
Message-ID: <CtvC3r.5Kv@ucc.su.OZ.AU>
Sender: news@ucc.su.OZ.AU
Nntp-Posting-Host: physics.su.oz.au
Organization: School of Physics, University of Sydney, Australia
References: <CtI5JI.9JE@ucc.su.OZ.AU> <1994Jul27.022108.252@corona.com>
Date: Mon, 1 Aug 1994 18:16:39 GMT
Lines: 34

In article <1994Jul27.022108.252@corona.com> pkron@corona.com writes:
>From: maxtal@physics.su.OZ.AU (John Max Skaller)

	(change default of member functions to "virtual").
>
>>  It would also break REAMS of C++ code, for no good reason
>>  other than to change a default to your liking.  Even if
>>  your liking is shared by many, that is not enough to zap
>>  almost all C++ code in existence.
>
>Would it? 

	Yes. In C++ there are two distinct kinds of class:

	a) polymorphic
	b) non-polymorphic

and a whole lot of the language like RTTI works differently
for polymorphic classes. Changing the default makes
simple C structs with a few member functions in them
polymorphic when they used to be non-polymorphic.

Indeed, ALL C structs would become polymorphic because their
destructors would be implicitly virtual -- which would
destroy the ability to do aliasing based on knowledge of layout.

The default is "non-virtual" because it has to be for
compatibility withe C.

--
        JOHN (MAX) SKALLER,         INTERNET:maxtal@suphys.physics.su.oz.au
	Maxtal Pty Ltd,		    
        81A Glebe Point Rd, GLEBE   Mem: SA IT/9/22,SC22/WG21 
        NSW 2037, AUSTRALIA	    Phone: 61-2-566-2189


