7.6. Key Point Summary
A class design boilerplate helps you create consistent classes.
Initialization calls constructors. Assignment calls operator functions.
Classes with nonstatic constant data members generate compilation errors for default assignment. The compiler uses default memberwise copies if you do not overload assignment. Overloaded operator=() must be a nonstatic class member function.
All overloaded operators are inherited except operator=().
Always overload operators in classes that require them, especially if conversion rules produce legal (but incorrect) expressions with overloaded cast operators.
Overloading iostream operators (<< and >>) for class objects must use nonmember functions.
A class may grant a friend function access to ...
Get Navigating C++ and Object-Oriented Design 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.