Preface.
Structure of This Book.
A Note on the Source Code.
Acknowledgments.
Where to Find More Information.
Typographical Conventions.
1. Basic C++ Programming.
How to Write a C++ Program.
Defining and Initializing a Data Object.
Writing Expressions.
Writing Conditional and Loop Statements.
How to Use Arrays and Vectors.
Pointers Allow for Flexibility.
Writing and Reading Files.
2. Procedural Programming.
How to Write a Function.
Invoking a Function.
Providing Default Parameter Values.
Using Local Static Objects.
Declaring a Function Inline.
Providing Overloaded Functions.
Defining and Using Template Functions.
Pointers to Functions Add Flexibility.
Setting Up a Header File.
3. Generic Programming.
The Arithmetic of Pointers.
Making Sense of Iterators.
Operations Common to All Containers.
Using the Sequential Containers.
Using the Generic Algorithms.
How to Design a Generic Algorithm.
Using a Map.
Using a Set.
How to Use Iterator Inserters.
Using the iostream Iterators.
4. Object-Based Programming.
How to Implement a Class.
What are Class Constructors and the Class Destructor?
What are mutable and const?
What is the this Pointer?
Static Class Members.
Building an Iterator Class.
Collaboration Sometimes Requires Friendship.
Implementing a Copy Assignment Operator.
Implementing a Function Object.
Providing Class Instances of the iostream Operators.
Pointers to Class Member Functions.
5. Object-Oriented Programming.
A Tour of Object-Oriented Programming.
Polymorphism without Inheritance.
Defining an Abstract Base Class.
Defining a Derived Class.
Using an Inheritance Hierarchy.
How Abstract Should a Base Class Be?
Initialization, Destruction, and Copy.
Defining a Derived Class Virtual Function.
Run-Time Type Identification.
6. Programming with Templates.
Parameterized Types.
The Template Class Definition.
Handling Template Type Parameters.
Implementing the Template Class.
A Function Template Output Operator.
Constant Expressions and Default Parameters.
Template Parameters as Strategy.
Member Template Functions.
7. Exception Handling.
Throwing an Exception.
Catching an Exception.
Trying for an Exception.
Local Resource Management.
The Standard Exceptions.