October 1997
Intermediate to advanced
800 pages
20h 48m
English
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, 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 ...