Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
C++ Primer Plus, Sixth Edition
New C++11 Coverage
C++ Primer Plus is a carefully crafted, complete tutorial on one of the most significant and widely used programming languages today. An accessible and easy-to-use self-study guide, this book is appropriate for both serious students of programming as well as developers already proficient in other languages.
The sixth edition of C++ Primer Plus has been updated and expanded to cover the latest developments in C++, including a detailed look at the new C++11 standard.
Author and educator Stephen Prata has created an introduction to C++ that is instructive, clear, and insightful. Fundamental programming concepts are explained along with details of the C++ language. Many short, practical examples illustrate just one or two concepts at a time, encouraging readers to master new topics by immediately putting them to use.
Review questions and programming exercises at the end of each chapter help readers zero in on the most critical information and digest the most difficult concepts.
In C++ Primer Plus, you’ll find depth, breadth, and a variety of teaching techniques and tools to enhance your learning:
1: Getting Started with C++
2: Setting Out to C++
3: Dealing with Data
4: Compound Types
5: Loops and Relational Expressions
6: Branching Statements and Logical Operators
7: Functions: C++’s Programming Modules
8: Adventures in Functions
9: Memory Models and Namespaces
10: Objects and Classes
11: Working with Classes
12: Classes and Dynamic Memory Allocation
13: Class Inheritance
14: Reusing Code in C++
15: Friends, Exceptions, and More
16: The string Class and the Standard Template Library
17: Input, Output, and Files
18: The New C++11 Standard
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
Download the sample pages (includes Chapter 2)
C++ Primer Plus, Sixth Edition
New 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
Functions
Chapter 3: Dealing with Data
Simple Variables
The const Qualifier
Floating-Point Numbers
C++ Arithmetic Operators
Chapter 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 Alternatives
Chapter 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 Arrays
Chapter 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/Output
Chapter 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 Functions
Chapter 8: Adventures in Functions
C++ Inline Functions
Reference Variables
Default Arguments
Function Overloading
Function Templates
Chapter 9: Memory Models and Namespaces
Separate Compilation
Storage Duration, Scope, and Linkage
Namespaces
Chapter 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 Types
Chapter 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 Classes
Chapter 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 Simulation
Chapter 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 Review
Chapter 14: Reusing Code in C++
Classes with Object Members
Private Inheritance
Multiple Inheritance
Class Templates
Chapter 15: Friends, Exceptions, and More
Friends
Nested Classes
Exceptions
Runtime Type Identification
Type Cast Operators
Chapter 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 Formatting
Chapter 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
We've made every effort to ensure the accuracy of this book and its companion content. Any errors that have been confirmed since this book was published can be downloaded below.
View the original errata (web page, January 2012)
Download the latest errata (45 KB .doc, July 2021)