Chapter 1, Starting with C++, explains the files used to write C++ applications, file dependencies, and the basics of C++ project management.
Chapter 2, Understanding Language Features, covers C++ statements and expressions, constants, variables, operators, and how to control execution flow in applications.
Chapter 3, Exploring C++ Types, describes C++ built-in types, aggregated types, type aliases, initializer lists, and conversion between types.
Chapter 4, Working with Memory, Arrays, and Pointers, covers how memory is allocated and used in C++ applications, how to use built-in arrays, the role of C++ references, and how to use C++ pointers to access memory.
Chapter 5, Using Functions, explains how to define functions, how to pass parameters-by-reference and by-value using a variable number of parameters, creating and using pointers to functions, and defining template functions and overloaded operators.
Chapter 6, Classes, describes how to define new types through classes and the various special functions used in a class, how to instantiate a class as an object and how to destroy them, and how to access objects through pointers and how to write template classes.
Chapter 7, Introduction to Object-Orientated Programming, explains inheritance and composition, and how this affects using pointers and references to objects and the access levels of class members and how they affect inherited members. This chapter also explains polymorphism through virtual methods, and inheritance programming through abstract classes.
Chapter 8, Using Standard Library Containers, covers all the C++ Standard Library container classes and how to use them with iterators and the standard algorithms so that you can manipulate the data in containers.
Chapter 9, Using Strings, describes the features of the standard C++ string class, converting between numeric data and strings, internationalizing strings, and using regular expressions to search and manipulate strings.
Chapter 10, Diagnostics and Debugging, explains how to prepare your code to provide diagnostics and to enable it to be debugged, how applications are terminated, abruptly or gracefully, and how to use C++ exceptions.