C++ Primer Plus, Sixth EditionNew C++11 Coverage Chapter 1: Getting Started with C++ Learning C++: What Lies Before You The Origins of C++: A Little History Portability and Standards The Mechanics of Creating a Program Chapter 2: Setting Out to C++ C++ Initiation C++ Statements More C++ Statements FunctionsChapter 3: Dealing with Data Simple Variables The const Qualifier Floating-Point Numbers C++ Arithmetic OperatorsChapter 4: Compound Types Introducing Arrays Strings Introducing the string Class Introducing Structures Unions Enumerations Pointers and the Free Store Pointers, Arrays, and Pointer Arithmetic Combinations of Types Array AlternativesChapter 5: Loops and Relational Expressions Introducing for Loops The while Loop The do while Loop The Range-Based for Loop (C++11) Loops and Text Input Nested Loops and Two-Dimensional ArraysChapter 6: Branching Statements and Logical Operators The if Statement Logical Expressions The cctype Library of Character Functions The ?: Operator The switch Statement The break and continue Statements Number-Reading Loops Simple File Input/OutputChapter 7: Functions: C++'s Programming Modules Function Review Function Arguments and Passing by Value Functions and Arrays Functions and Two-Dimensional Arrays Functions and C-Style Strings Functions and Structures Functions and string Class Objects Functions and array Objects Recursion Pointers to FunctionsChapter 8: Adventures in Functions C++ Inline Functions Reference Variables Default Arguments Function Overloading Function TemplatesChapter 9: Memory Models and Namespaces Separate Compilation Storage Duration, Scope, and Linkage NamespacesChapter 10: Objects and Classes Procedural and Object-Oriented Programming Abstraction and Classes Class Constructors and Destructors Knowing Your Objects: The this Pointer An Array of Objects Class Scope Abstract Data TypesChapter 11: Working with Classes Operator Overloading Time on Our Hands: Developing an Operator Overloading Example Introducing Friends Overloaded Operators: Member Versus Nonmember Functions More Overloading: A Vector Class Automatic Conversions and Type Casts for ClassesChapter 12: Classes and Dynamic Memory Allocation Dynamic Memory and Classes The New, Improved String Class Things to Remember When Using new in Constructors Observations About Returning Objects Using Pointers to Objects Reviewing Techniques A Queue SimulationChapter 13: Class Inheritance Beginning with a Simple Base Class Inheritance: An Is-a Relationship Polymorphic Public Inheritance Static and Dynamic Binding Access Control: protected Abstract Base Classes Inheritance and Dynamic Memory Allocation Class Design ReviewChapter 14: Reusing Code in C++ Classes with Object Members Private Inheritance Multiple Inheritance Class TemplatesChapter 15: Friends, Exceptions, and More Friends Nested Classes Exceptions Runtime Type Identification Type Cast OperatorsChapter 16: The string Class and the Standard Template Library The string Class Smart Pointer Template Classes The Standard Template Library Generic Programming Function Objects (a.k.a. Functors) Algorithms Other Libraries Chapter 17: Input, Output, and Files An Overview of C++ Input and Output Output with cout Input with cin File Input and Output Incore FormattingChapter 18: Visiting with the New C++ Standard C++11 Features Revisited Move Semantics and the Rvalue Reference New Class Features Lambda Functions Wrappers Variadic Templates More C++11 Features Language Change What Now? Appendixes A Number Bases B C++ Reserved Words C The ASCII Character Set D Operator Precedence E Other Operators F The stringTemplate Class G The Standard Template Library Methods and Functions H Selected Readings and Internet Resources I Converting to ISO Standard C++ J Answers to Chapter Reviews
Stephen Prata taught astronomy, physics, and computer science at the College of Marin in Kentfield, California. He received his B.S. from the California Institute of Technology and his Ph.D. from the University of California, Berkeley. He has authored or coauthored more than a dozen books on programming topics including New C Primer Plus, which received the Computer Press Association's 1990 Best How-to Computer Book Award, and C++ Primer Plus, nominated for the Computer Press Association's Best How-to Computer Book Award in 1991.