Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > C++ Moderated > Re: delete an i...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 3 of 7 Topic 9555 of 9831
Post > Topic >>

Re: delete an inherited class

by Pavel Minaev <int19h@[EMAIL PROTECTED] > Apr 27, 2008 at 03:46 PM

On Apr 27, 10:39 pm, Free0...@[EMAIL PROTECTED]
 wrote:
> if i make a class that inherit another class, when i delete the
> pointer casted to the inherited class, only the destructor of the
> inherited class fires, the base class does not.
>
> ex:
>
> class shape
> {
>  ~shape()
>
> }
>
> class square : class shape
> {
>  ~square()
>
> }
>
> square pSquare = new square();
>
> shape pShape = dynamic_cast<shape *>(pSquare);
>
> delete pShape;  <== only calls  ~shape()

You need to declare your destructor as virtual in the base class.
Otherwise, there's no way to find out the actual type of the object at
run-time.


-- 
      [ See http://www.gotw.ca/resources/clcm.htm
for info about ]
      [ comp.lang.c++.moderated.    First time posters: Do this! ]
 




 7 Posts in Topic:
delete an inherited class
Free0017@[EMAIL PROTECTED  2008-04-27 12:39:04 
Re: delete an inherited class
=?ISO-8859-1?Q?Daniel_Kr=  2008-04-27 15:43:41 
Re: delete an inherited class
Pavel Minaev <int19h@[  2008-04-27 15:46:19 
Re: delete an inherited class
alasham.said@[EMAIL PROTE  2008-04-27 15:46:32 
Re: delete an inherited class
=?UTF-8?B?RXJpayBXaWtzdHL  2008-04-27 15:48:23 
Re: delete an inherited class
Alexey Stepanyan <alex  2008-04-27 15:47:48 
Re: delete an inherited class
Vaclav Haisman <v.hais  2008-04-28 02:13:21 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Sat Jul 26 2:44:35 CDT 2008.