Distinguishing Between Copy Ctor And Assignment Operator

Although the copy constructor and assignment operator perform similar operations, they are used in different contexts.The copy constructor is invoked when you initialize an object with another object:

   string first "abc";  string second(first); //copy ctor

On the other hand, the assignment operator is invoked when an already constructed object is assigned a new value:

   string second;  second = first; //assignment op

Don’t let the syntax mislead you: in the following example, the copy ctor, rather than the assignment operator, is invoked because d2 is being initialized:

   Date Y2Ktest ("01/01/2000");   Date d1 = Y2Ktest; /* although = is used, the copy ctor 
invoked */
Share the Post:
Share on facebook
Share on twitter
Share on linkedin


Recent Articles: