www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/06/17/03:11:22

Xref: news2.mv.net comp.os.msdos.djgpp:5067
From: Erik Max Francis <max AT alcyone DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Q: How to check if two objects are of the same class (C++) ?
Date: Sun, 16 Jun 1996 19:47:07 -0700
Organization: Alcyone Systems
Lines: 42
Message-ID: <31C4C72B.5A3A9D98@alcyone.com>
References: <31C4486F DOT 5607 AT ida DOT utb DOT hb DOT se>
NNTP-Posting-Host: newton.alcyone.com
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Christian Axbrink wrote:

> a) How to check if two objects (or object pointers) are of the same
> class, and, wich should be evident from this question,

First you should ask yourself why you're doing this.  The idea of C++ having
virtual member functions generally eliminates the need for this sort of
behavior; that's the whole reason for having inheritance.

Having said that you're probably going about it the wrong way, there are two
easy ways to get what you want.  The first is to use RTTI, which
unfortunately, I don't know offhand whether or not g++ 2.7.2 supports.

The second is to basically have _all_ of the required classes inherit from
some identification class, who simply returns an integer (or enum value)
telling what class it belongs to.  Then, since all of the necessary classes
will derive from this class, you can call a member function in this superclass
to report the class, and then compare the two with the equality operator.

There are also a few other ways, which involve features inherent in the C++
2.1 spec.  I don't think g++ 2.7.2 is compliant with the current spec yet, so
they're probably not worth going into.

> b) where I can find online documents describing C++ in some detail, not
> just overviews and descriptions of the class libraries but all of the
> operators and other fun stuff.

I strongly suggest you get a C++ book.  There are many good ones available,
but the "best one" is really a matter of opinion.  Go to your nearest computer
bookstore and look through the C++ shelf.  You're certain to find something
that you like.

> I have Turbo C/C++ by Herbert Schildt.

This is not generally considered a very good book on C++.

-- 
Erik Max Francis &tSftDotIotE && http://www.alcyone.com/max && max AT alcyone DOT com
San Jose, California, U.S.A. && 37 20 07 N 121 53 38 W && the 4th R is respect
H.3`S,3,P,3$S,#$Q,C`Q,3,P,3$S,#$Q,3`Q,3,P,C$Q,#(Q.#`-"C`- && 1love && folasade
Omnia quia sunt, lumina sunt. && Dominion, GIGO, GOOGOL, Omega, Psi, Strategem
"Out from his breast/his soul went to seek/the doom of the just." -- _Beowulf_

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019