Essential C++ (Paperback)

Stanley B. Lippman






Essential C++ offers a fast-track to learning and working with C++. This book is specifically designed to bring you up to speed in a short amount of time. It focuses on the elements of C++ programming that you are most likely to encounter and examines features and techniques that help solve real-world programming challenges. Essential C++ presents the basics of C++ in the context of procedural, generic, object-based, and object-oriented programming. It is organized around a series of increasingly complex programming problems, and language features are introduced as solutions to these problems. In this way you will not only learn about the functions and structure of C++, but will understand their purpose and rationale.

Back to Top

Appropriate Courses

C++--Intermediate Programming.

Back to Top


Table Of Contents


Structure of This Book.
A Note on the Source Code.
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.

Appendix A: Exercise Solutions.
Appendix B: Generic Algorithms Handbook.
Index. 0201485184T04062001

Back to Top