@Amit : why output is printed 2 times.???

i guess it should be once :

"baseClass Des called"



baseClass Des called will be called.

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.
>

-- 
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