CONTENTS

Part I: Introduction to Professional C++

Chapter 1: A Crash Course in C++

The Basics of C++

Diving Deeper into C++

C++ as an Object-Oriented Language

The Standard Library

Your First Useful C++ Program

Summary

Chapter 2: Designing Professional C++ Programs

What Is Programming Design?

The Importance of Programming Design

What’s Different about C++ Design?

Two Rules for C++ Design

Reusing Code

Designing with Patterns and Techniques

Designing a Chess Program

Summary

Chapter 3: Designing with Objects

Am I Thinking Procedurally?

The Object-Oriented Philosophy

Living in a World of Objects

Object Relationships

Abstraction

Summary

Chapter 4: Designing for Reuse

The Reuse Philosophy

How to Design Reusable Code

Summary

Chapter 5: Coding with Style

The Importance of Looking Good

Documenting Your Code

Decomposition

Naming

Using Language Features with Style

Formatting

Stylistic Challenges

Summary

Part II: C++ Coding the Professional Way

Chapter 6: Gaining Proficiency With Classes and Objects

Introducing the Spreadsheet Example

Writing Classes

Object Life Cycles

Summary

Chapter 7: Mastering Classes and Objects

Dynamic Memory Allocation in Objects

Different Kinds of Data Members

More about Methods

Nested Classes

Enumerated Types Inside Classes

Friends

Operator Overloading

Building Stable Interfaces

Summary

Chapter 8: Discovering Inheritance Techniques

Building Classes with Inheritance

Inheritance for Reuse

Respect Your Parents

Inheritance for Polymorphism

Multiple Inheritance

Interesting ...

Get Professional C++, Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.