Message
Copy-Assignment Operator
In common with most assignment operators, our Folder
copy-assignment operator must do the work of the copy constructor and the destructor. As usual, it is crucial that we structure our code to execute correctly even if the left- and right-hand operands happen to be the same object.
In this case, we protect against self-assignment by removing pointers to this Message
from the folders
of the left-hand operand before inserting pointers in the folders
in the right-hand operand:
Message& Message::operator=(const Message &rhs){ // handle self-assignment by removing pointers before inserting them remove_from_Folders(); // update existing Folders contents = rhs.contents; // copy message contents from rhs folders ...
Get C++ Primer, Fifth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.