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.