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.

Reply via email to