Chapter 7. Class Design

Class designers should create objects with an appealing set of useful behaviors. This seems obvious but in reality is a difficult job. Applications are likely to use objects in a myriad of ways, which class designers must anticipate. Objects, for example, may appear in complex expressions with overloaded operators, function calls, constructors, and user-defined conversions. An understanding of how object initialization differs from object assignment is critical because compiler defaults are not desirable for all class methods.

This chapter presents a class design “boilerplate” that helps create consistent and extensible classes. Along the way, we'll give you a class design checklist and show you how to apply overloading ...

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.