C++ Interview Questions and Answers


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


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


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.

Posted by:Richards