Thursday, September 18, 2008

What is the diffrence between a "assignment operator" and a "copy constructor" ?

Assignment Operator - What is the diffrence between a "assignment operator" and a "copy constructor"? 
Answer1. 
In assignment operator, you are assigning a value to an existing object. But in copy constructor, you are creating a new object and then assigning a value to that object. For example: 
complex c1,c2;
c1=c2; //this is assignment
complex c3=c2; //copy constructor

Answer2. 
A copy constructor is used to initialize a newly declared variable from an existing variable. This makes a deep copy like assignment, but it is somewhat simpler: 

There is no need to test to see if it is being initialized from itself. 
There is no need to clean up (eg, delete) an existing value (there is none). 
A reference to itself is not returned.

No comments:

Post a Comment

Thanks to given comments.......

My Blog List