Skip to Content
Navigating C++ and Object-Oriented Design
book

Navigating C++ and Object-Oriented Design

by Paul Anderson, Gail Anderson
October 1997
Intermediate to advanced
800 pages
20h 48m
English
Pearson
Content preview from Navigating C++ and Object-Oriented Design

11.14. Putting It All Together

Container Classes, Pointers, and Copy Semantics

The template List class in “A Generic List Class with Iterators and Value Semantics” on page 460 uses the following function to copy values for overloaded assignments and copy initialization.

Listing 11.25. Copy operation for value semantics Lists
template <class TYPE>
void List<TYPE>::copy(const List<TYPE> & list) {      // copy List
   for (Iterator<TYPE> iter(list); !iter; iter++)
      append(iter());                     // make copy of TYPE
}

An iterator steps through the source List object, and append() creates a copy of each contained object. List provides value semantics and Node objects contain data; hence, this algorithm is correct. The following code fragment declares two Lists of Strings ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Exploring C++20: The Programmer's Introduction to C++

Exploring C++20: The Programmer's Introduction to C++

Ray Lischner

Publisher Resources

ISBN: 0135327482Purchase book