Copy constructor should have been called two times!!!!!!1 On Sun, Aug 21, 2011 at 1:38 PM, Abhishek Yadav <algowithabhis...@gmail.com>wrote:
> what are you trying to say?...can you please explain?h > > > On Sun, Aug 21, 2011 at 1:35 PM, JAIDEV YADAV <jaid...@gmail.com> wrote: > >> try to use X b = a ; b.fun() ; >> >> On Sun, Aug 21, 2011 at 1:33 PM, Abhishek Yadav < >> algowithabhis...@gmail.com> wrote: >> >>> ok...may be i forgot , can you please tell me correct code for the copy >>> constructor..? >>> >>> >>> On Sun, Aug 21, 2011 at 1:31 PM, JAIDEV YADAV <jaid...@gmail.com> wrote: >>> >>>> dude u haven't used copy constructor properly .. check it out again ... >>>> you are not copying actually ... thats it ... >>>> >>>> On Sun, Aug 21, 2011 at 12:53 PM, Abhishek Yadav < >>>> algowithabhis...@gmail.com> wrote: >>>> >>>>> Check this code: the thing i couldn't understand is when the object is >>>>> being returned neither the copy constructor is being called nor the >>>>> assignment operator overload is called....then how the object is being >>>>> copied into b. i don't think default copy constructor should be called if >>>>> i >>>>> have made our own copy constructor....??? >>>>> #include<iostream> >>>>> using namespace std; >>>>> #include<conio.h> >>>>> >>>>> class X >>>>> { >>>>> public: >>>>> int num; >>>>> X(int a) >>>>> { >>>>> num=a; >>>>> cout<<"\n constructor"; >>>>> } >>>>> >>>>> X(const X& t) >>>>> { >>>>> this->num=t.num; >>>>> cout<<"\nCopy "; >>>>> } >>>>> >>>>> X operator=(const X& t) >>>>> { >>>>> this->num =t.num; >>>>> cout<<"\n Assigment "; >>>>> return t; >>>>> } >>>>> >>>>> X fun() >>>>> { >>>>> cout<<"\nin fun"; >>>>> return X(7); >>>>> } >>>>> >>>>> ~X() >>>>> { >>>>> cout<<"\ndestruct "; >>>>> } >>>>> >>>>> }; >>>>> >>>>> int main() >>>>> { >>>>> { >>>>> X a(1); >>>>> X b=a.fun(); >>>>> cout<<"\n\n"<<b.num; >>>>> } >>>>> getch(); >>>>> } >>>>> >>>>> >>>>> On Sun, Aug 21, 2011 at 12:33 PM, Abhishek Yadav < >>>>> algowithabhis...@gmail.com> wrote: >>>>> >>>>>> The code is correct..return X will make a temporary object and for >>>>>> that a constructor and corresponding destructor will be called and that >>>>>> object is returned. >>>>>> >>>>>> On Sun, Aug 21, 2011 at 12:24 PM, Puneet Chawla < >>>>>> puneetchawla...@gmail.com> wrote: >>>>>> >>>>>>> It will show error >>>>>>> >>>>>>> On Sun, Aug 21, 2011 at 12:21 PM, Sanjay Rajpal <srn...@gmail.com>wrote: >>>>>>> >>>>>>>> I think it will not be an error. >>>>>>>> >>>>>>>> This is because X() will create a temporary object, and when the >>>>>>>> object is returned in the function calling it, then default copy >>>>>>>> constructor will do bitwise copy of data members in the calling >>>>>>>> function. >>>>>>>> >>>>>>>> Correct me if m wrong. >>>>>>>> >>>>>>>> On 8/20/11, sachin sabbarwal <algowithsac...@gmail.com> wrote: >>>>>>>> > class X() >>>>>>>> > { >>>>>>>> > >>>>>>>> > X() >>>>>>>> > { >>>>>>>> > } >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > X fun() >>>>>>>> > { >>>>>>>> > return X(); //error or what?? because constructor never >>>>>>>> returns >>>>>>>> > anything so what this return statement will receive after >>>>>>>> executing x() and >>>>>>>> > what it will return?? >>>>>>>> > } >>>>>>>> > >>>>>>>> > >>>>>>>> > }; >>>>>>>> > >>>>>>>> > -- >>>>>>>> > 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. >>>>>>>> > >>>>>>>> > >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Sanju >>>>>>>> :) >>>>>>>> >>>>>>>> -- >>>>>>>> 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. >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> With regards >>>>>>> ............ >>>>>>> Puneet Chawla >>>>>>> Computer Engineering Student >>>>>>> NIT Kurukshetra >>>>>>> >>>>>>> -- >>>>>>> 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. >>>>> >>>> >>>> >>>> >>>> -- >>>> JaiDev Yadav >>>> (National Yoga Champion) >>>> Computer Engg. Dept. >>>> National Institute of Technology >>>> Kurukshetra,Haryana >>>> >>>> -- >>>> 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. >>> >> >> >> >> -- >> JaiDev Yadav >> (National Yoga Champion) >> Computer Engg. Dept. >> National Institute of Technology >> Kurukshetra,Haryana >> >> -- >> 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.