Did you try it out on ur machine? M using g++ compiler. On Wed, Dec 7, 2011 at 5:36 PM, himanshu kansal <himanshukansal...@gmail.com > wrote:
> dude it does not crashes out....on which compiler are you running > it....???? > > > On Wed, Dec 7, 2011 at 5:30 PM, deepak kumar <deepak.kuma...@gmail.com>wrote: > >> Dudes, The 1st part is clear and easy also, since it will do the static >> linking and will call the base class destructor . >> But for my surprize, it calls the destructor(base class) and soon after >> that it crashes out. >> >> I wanted to know the reason as why it *crashes out*. >> >> >> On Wed, Dec 7, 2011 at 5:16 PM, himanshu kansal < >> himanshukansal...@gmail.com> wrote: >> >>> ya...sorry only baseclass des would be called.... >>> >>> >>> On Wed, Dec 7, 2011 at 4:00 PM, Amit Basak <abas...@gmail.com> wrote: >>> >>>> For the main question, the base class destructor will be called and the >>>> output of the program will be: "baseClass Des called". >>>> >>>> This is because, when delete bPtr; is called, the base class >>>> destructor will be called as bPtr is of type baseClass. >>>> And since baseClass destructor is not decalred as virtual, so the type >>>> of the object that bPtr points to does not come into picture. >>>> In other words, the base part of memory held by derivedClass2 object >>>> will only be destructed here. >>>> >>>> @Prem Krishna Chettri's question: In this case also only the >>>> baseClass's destructor will be called and hence we will have two lines >>>> output as >>>> "baseClass Des called" >>>> "baseClass Des called" >>>> >>>> This is why it is always advisable to make the destructor as virtual. >>>> >>>> >>>> Amit >>>> >>>> On Wed, Dec 7, 2011 at 3:27 PM, Prem Krishna Chettri < >>>> hprem...@gmail.com> wrote: >>>> >>>>> The Output would be only the base class object destructor would be >>>>> called so output :- >>>>> >>>>> derivedClass2 Des called >>>>> >>>>> Now why .. >>>>> >>>>> It is no more than just a base parent concept here, so base pointer >>>>> capable if holding its derived object address get's derived object as new >>>>> derivedClass2() creates only derived object. However, by deleting that >>>>> pointer would results in destructing of this object which is the object of >>>>> the derived class type "derivedClass2". >>>>> >>>>> >>>>> Well, I Guess what would be more interesting if you have a main >>>>> something like this :- >>>>> >>>>> int main() { >>>>> >>>>> baseClass *aPtr = new derivedClass1(); >>>>> >>>>> baseClass *bPtr = new derivedClass2(); >>>>> delete aPtr; >>>>> delete bPtr; >>>>> } >>>>> >>>>> >>>>> On Wed, Dec 7, 2011 at 2:51 PM, deepak kumar <deepak.kuma...@gmail.com >>>>> > wrote: >>>>> >>>>>> Hi All, >>>>>> I am sharing with you all a problem . The problem is as >>>>>> follow >>>>>> >>>>>> >>>>>> class baseClass { >>>>>> public : >>>>>> ~baseClass() { cout<< "baseClass Des called"<< endl; } >>>>>> }; >>>>>> >>>>>> /*Derived class*/ >>>>>> >>>>>> class derivedClass1 : public baseClass { >>>>>> public: >>>>>> *virtual *~derivedClass1() {cout <<"derivedClass1 Des called"<< >>>>>> endl;} >>>>>> }; >>>>>> >>>>>> /*Derived class*/ >>>>>> >>>>>> class derivedClass2 : public baseClass { >>>>>> public: >>>>>> ~derivedClass2() {cout <<"derivedClass2 Des called"<< endl;} >>>>>> }; >>>>>> >>>>>> >>>>>> int main() { >>>>>> >>>>>> baseClass *bPtr = new derivedClass2(); >>>>>> delete bPtr; >>>>>> } >>>>>> >>>>>> >>>>>> Can anyone tell me what will be the output and why ? >>>>>> Note: the virtual destructor in derivedClass1. >>>>>> >>>>>> >>>>>> -- >>>>>> Thanks and Regards >>>>>> Deepak Kumar >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Algorithm Geeks" group. >>>>>> To post to this group, send email to algogeeks@googlegroups.com. >>>>>> To unsubscribe from this group, send email to >>>>>> algogeeks+unsubscr...@googlegroups.com. >>>>>> For more options, visit this group at >>>>>> http://groups.google.com/group/algogeeks?hl=en. >>>>>> >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Algorithm Geeks" group. >>>>> To post to this group, send email to algogeeks@googlegroups.com. >>>>> To unsubscribe from this group, send email to >>>>> algogeeks+unsubscr...@googlegroups.com. >>>>> For more options, visit this group at >>>>> http://groups.google.com/group/algogeeks?hl=en. >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Algorithm Geeks" group. >>>> To post to this group, send email to algogeeks@googlegroups.com. >>>> To unsubscribe from this group, send email to >>>> algogeeks+unsubscr...@googlegroups.com. >>>> For more options, visit this group at >>>> http://groups.google.com/group/algogeeks?hl=en. >>>> >>> >>> >>> >>> -- >>> >>> Regards >>> Himanshu Kansal >>> Msc Comp. sc. >>> (University of Delhi) >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Algorithm Geeks" group. >>> To post to this group, send email to algogeeks@googlegroups.com. >>> To unsubscribe from this group, send email to >>> algogeeks+unsubscr...@googlegroups.com. >>> For more options, visit this group at >>> http://groups.google.com/group/algogeeks?hl=en. >>> >> >> >> >> -- >> Thanks and Regards >> Deepak Kumar >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Algorithm Geeks" group. >> To post to this group, send email to algogeeks@googlegroups.com. >> To unsubscribe from this group, send email to >> algogeeks+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/algogeeks?hl=en. >> > > > > -- > > Regards > Himanshu Kansal > Msc Comp. sc. > (University of Delhi) > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to algogeeks@googlegroups.com. > To unsubscribe from this group, send email to > algogeeks+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > -- Thanks and Regards Deepak Kumar -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.