Newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.object
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel!news.mathworks.com!uunet!mole-end!mat
From: mat@mole-end.matawan.nj.us
Subject: Re: C++ Productivity
Message-ID: <1995Feb13.102114.20550@mole-end.matawan.nj.us>
Organization: :
References: <1995Feb10.022924.28825@mole-end.matawan.nj.us> <3hjotr$bm2@network.ucsd.edu>
Date: Mon, 13 Feb 1995 10:21:14 GMT
Lines: 43
Xref: glinda.oz.cs.cmu.edu comp.lang.c++:112666 comp.lang.smalltalk:20819 comp.object:26696

In article <3hjotr$bm2@network.ucsd.edu>, mbk@inls1.ucsd.edu (Matt Kennel) writes:
> mat@mole-end.matawan.nj.us wrote:
> : In article <D3oxBM.HnD@da_vinci.ecte.uswc.uswest.com>, tblanch@lookout (Todd Blanchard) writes:
> : > Jesper Kaagaard (etiaseti@inet.uni-c.dk) wrote:
> : > : David Siegel (dsiegel@panix.com) wrote:
 ...
> : > : : 		...  They don't fix the implicit automatic
> : > : : type conversion and C++'s tendency to hidden copying operations.
 
> : This allows C++ to support both value and object (identity) symantics.
 ...
> In fact it seems that, at least superficially, C++ mixes in some other issues.
> 
> E.g. if you declare a value class (on the stack) then you also know it
> is NOT dispatched, i.e. you know the exact type.  But if you have a pointer, 
> with object semantics, then there's the possibility of having something
> be dispatched through this pointer.
> 
> How, in C++, do you declare "a pointer which points to an object of
> *this exact class*??" It's not yet clear to me.
> (This is a question, not a flame)  

You don't.  It's been considered, and rejected.
I know of only one place where this should be a concern: when you mean
to pass an array by passing a pointer to one element of it.

> 
> : Why wasn't it done right in the first place?  When we were in the first
> : place, _nobody_ knew what `right' was.  Nobody even knew what the questions
> : were.  People thought that operator overloading couldn't be done without
> : getting into all of Algol 68's hitches.  The correct form for default
> : constructors and assignment wasn't even an issue that had occurred to anyone.
> 
> Q: Did Ada83 have operator overloading?

Yes, it did.  It did not have anything like the rich type-and-conversion
structure that C++ provides.  Moreover, the level of encapsulation in
Ada '83 is the package, not the (object) type.
-- 
 (This man's opinions are his own.)
 From mole-end				Mark Terribile
 mat@mole-end.matawan.nj.us, Somewhere in Matawan, NJ
	(Training and consulting in C, C++, UNIX, etc.)
