From 2577631296902040446
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f78e5,229c1f24fca43638
X-Google-Attributes: gidf78e5,public
X-Google-ArrivalTime: 1994-08-02 18:39:53 PST
Newsgroups: comp.std.c++
Path: bga.com!news.sprintlink.net!rtp.vnet.net!news1.digex.net!news.intercon.com!howland.reston.ans.net!math.ohio-state.edu!jussieu.fr!univ-lyon1.fr!swidir.switch.ch!newsfeed.ACO.net!Austria.EU.net!EU.net!uunet!news.cygnus.com!news!jason
From: jason@cygnus.com (Jason Merrill)
Subject: Re: dynamic_cast<T> question
In-Reply-To: etse@scdt.intel.com's message of 2 Aug 1994 16:45:31 GMT
Content-Type: text/plain; charset=US-ASCII
Message-ID: <JASON.94Aug2130535@deneb.cygnus.com>
Sender: news@cygnus.com
Nntp-Posting-Host: deneb.cygnus.com
Organization: Cygnus Support, Mountain View, CA
References: <31lt7b$c0m@inews.intel.com>
Mime-Version: 1.0
Date: Tue, 2 Aug 1994 20:05:35 GMT
Lines: 23

>>>>> Eric Tse <etse@scdt.intel.com> writes:

> 	I wonder if I could do a safe down cast of the
> following using dynamic_cast<T> keyword:

> class B {..};
> class D : public B {..};
> class G : public D {..};

> void f(){
> 	B* b = 0;
> 	D* d = 0;
> 	G* g = new G();

> 	b = g;

> 	d = dynamic_cast<D*>(b);
> 	...
> }

If B has virtual functions, yes.  Otherwise, no.

Jason


