@rahul thanks for reply
o/p (of 1st program) :
constructor
constructor
print statement
 destructor
 destructor


here copy constructor is not called ... that's why i have posted this
program

On Tue, Jul 12, 2011 at 10:42 PM, rahul <[email protected]> wrote:

> Hi,
>
> In first program,it will call copy constructor once, while returning object
> by value.
> In 2nd program it will call copy constructor twice, once when u pass an
> object to function by value, and 2nd time when you return an object by value
> from function.
>
> Thanks.
>
> On Tue, Jul 12, 2011 at 11:52 PM, segfault <[email protected]>wrote:
>
>> #include<iostream>
>> using namespace std;
>> class x{
>>  int p;
>>  public:
>>  x(){cout<<"constructor\n";}
>>  x(const x &y)
>>  {
>>  cout<<"copy constructor\n";
>>  }
>>  ~x()
>>  {
>>  cout<<" destructor\n";
>>  }
>>  void print()
>>  {
>>  cout<<"print statement\n";
>>  }
>> };
>> x g()
>> {
>>  x b;
>>  b.print();
>>  return b;
>> }
>> int main()
>> {
>>  x b;
>>  x t=g();
>> }
>>
>>
>>
>> #include<iostream>
>> using namespace std;
>> class x{
>>  int p;
>>  public:
>>  x(){cout<<"constructor\n";}
>>  x(const x &y)
>>  {
>>  cout<<"copy constructor\n";
>>  }
>>  ~x()
>>  {
>>  cout<<" destructor\n";
>>  }
>>  void print()
>>  {
>>  cout<<"print statement\n";
>>  }
>> };
>> x g(x b)
>> {
>>
>>  b.print();
>>  return b;
>> }
>> int main()
>> {
>>  x b;
>>  x t=g(b);
>> }
>>
>>
>> why first one is not calling copy constructor in function g() while
>> returning from it
>> but second one is  calling copy constructor in function g() while
>> returning from it?
>>
>> in both program inside g() b is local but why giving different result.
>>
>> bruce ackel page number:467
>>
>>
>>
>> please explain it.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> 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 [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> 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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to