O'Reilly logo

Navigating C++ and Object-Oriented Design by Gail Anderson, Paul Anderson

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

5.2. Object Lifetimes

Class data members may be pointers to objects, references to objects, or objects themselves. Which object type you use affects how your program creates and releases objects (their lifetimes). Let's examine each approach with a Figure object that we initialize with a Fifo and discuss the advantages and disadvantages of each approach.

Containment

Containment, where one object is inside another, is useful when a class requires its own copy of a contained object. Containment is safe because a contained object's lifetime ties to the lifetime of the containing object. In the following example, we always create a Fifo (a) every time we create a Figure (fig). Likewise, we destroy this Fifo when we release the Figure. The compiler ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required