C++ Primer Plus

  • ISBN13:


  • ISBN10:


  • Edition: 6th
  • Format: Paperback
  • Copyright: 10/18/2011
  • Publisher: Addison-Wesley Professional

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping On Orders Over $59!
    Your order must be $59 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
  • We Buy This Book Back!
    In-Store Credit: $10.50
    Check/Direct Deposit: $10.00
List Price: $59.99 Save up to $21.00
  • Rent Book $38.99
    Add to Cart Free Shipping


Supplemental Materials

What is included with this book?

  • The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
  • The Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.


While C++ may not have the buzz associated with some other current computer languages, it is still one of the most widely used, with more than 4,000,000 programmers actively using it. With the new ANSI standard finalized, and about to be formally released, there will be a renewed interest in C++. The C++ Primer Plusis an approachable yet technically rigorous guide to C++ for programmers new to the language. This new edition updates it with the most important features added to the new standard, which keeping the style and approach which have made the previous editions so popular. It contains extensive new code samples and exercises, for both classroom use and self-study.

Author Biography

Stephen Prat a 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.

Table of Contents

Introduction     1

Chapter 1: Getting Started with C++     9

Learning C++: What Lies Before You     10

The Origins of C++: A Little History     10

Portability and Standards     15

The Mechanics of Creating a Program     18

Summary     25

Chapter 2: Setting Out to C++     27

C++ Initiation     27

C++ Statements     41

More C++ Statements     45

Functions     48

Summary     61

Chapter Review     62

Programming Exercises     62

Chapter 3: Dealing with Data     65

Simple Variables     66

The const Qualifier     90

Floating-Point Numbers     92

C++ Arithmetic Operators     97

Summary     109

Chapter Review     110

Programming Exercises     111

Chapter 4: Compound Types     115

Introducing Arrays     116

Strings     120

Introducing the string Class     131

Introducing Structures     140

Unions     149

Enumerations     150

Pointers and the Free Store     153

Pointers, Arrays, and Pointer Arithmetic     167

Combinations of Types     184

Array Alternatives     186

Summary     190

Chapter Review     191

Programming Exercises     192

Chapter 5: Loops and Relational Expressions     195

Introducing for Loops     196

The while Loop     224

The do while Loop     231

The Range-Based for Loop (C++11)     233

Loops and Text Input     234

Nested Loops and Two-Dimensional Arrays     244

Summary     249

Chapter Review     250

Programming Exercises     251

Chapter 6: Branching Statements and Logical Operators     253

The if Statement     254

Logical Expressions     260

The cctype Library of Character Functions     270

The ?: Operator     273

The switch Statement     274

The break and continue Statements     280

Number-Reading Loops     283

Simple File Input/Output     287

Summary     298

Chapter Review      298

Programming Exercises     301

Chapter 7: Functions: C++’s Programming Modules     305

Function Review     306

Function Arguments and Passing by Value     313

Functions and Arrays     320

Functions and Two-Dimensional Arrays     337

Functions and C-Style Strings     339

Functions and Structures     343

Functions and string Class Objects     353

Functions and array Objects     355

Recursion     357

Pointers to Functions     361

Summary     371

Chapter Review     372

Programming Exercises     374

Chapter 8: Adventures in Functions     379

C++ Inline Functions     379

Reference Variables     383

Default Arguments     409

Function Overloading    412

Function Templates     419

Summary     442

Chapter Review    443

Programming Exercises     444

Chapter 9: Memory Models and Namespaces     447

Separate Compilation    447

Storage Duration, Scope, and Linkage     453

Namespaces     482

Summary     497

Chapter Review     498

Programming Exercises     501

Chapter 10: Objects and Classes     505

Procedural and Object-Oriented Programming    506

Abstraction and Classes     507

Class Constructors and Destructors     524

Knowing Your Objects: The this Pointer    539

An Array of Objects    546

Class Scope     549

Abstract Data Types     552

Summary     557

Chapter Review     558

Programming Exercises     559

Chapter 11: Working with Classes     563

Operator Overloading     564

Time on Our Hands: Developing an Operator Overloading Example    565

Introducing Friends    578

Overloaded Operators: Member Versus Nonmember Functions     587

More Overloading: A Vector Class     588

Automatic Conversions and Type Casts for Classes     606

Summary     621

Chapter Review     623

Programming Exercises     623

Chapter 12: Classes and Dynamic Memory Allocation     627

Dynamic Memory and Classes     628

The New, Improved String Class     647

Things to Remember When Using new in Constructors     659

Observations About Returning Objects    662

Using Pointers to Objects     665

Reviewing Techniques     676

A Queue Simulation     678

Summary     699

Chapter Review     700

Programming Exercises     702

Chapter 13: Class Inheritance     707

Beginning with a Simple Base Class    708

Inheritance: An Is-a Relationship    720

Polymorphic Public Inheritance     722

Static and Dynamic Binding     737

Access Control: protected     745

Abstract Base Classes     746

Inheritance and Dynamic Memory Allocation    757

Class Design Review     766

Summary     778

Chapter Review     779

Programming Exercises     780

Chapter 14: Reusing Code in C++     785

Classes with Object Members     786

Private Inheritance     797

Multiple Inheritance    808

Class Templates     830

Summary     866

Chapter Review     869

Programming Exercises    871

Chapter 15: Friends, Exceptions, and More    877

Friends    877

Nested Classes     889

Exceptions    896

Runtime Type Identification     933

Type Cast Operators    943

Summary    947

Chapter Review     947

Programming Exercises    949

Chapter 16: The string Class and the Standard Template Library    951

The string Class     952

Smart Pointer Template Classes    968

The Standard Template Library     978

Generic Programming     992

Function Objects (a.k.a. Functors)     1026

Algorithms     1035

Other Libraries     1045

Chapter 17: Input, Output, and Files     1061

An Overview of C++ Input and Output     1062

Output with cout     1069

Input with cin     1093

File Input and Output     1114

Incore Formatting     1142

Summary     1145

Chapter Review     1146

Programming Exercises     1148

Chapter 18: Visiting with the New C++ Standard     1153

C++11 Features Revisited    1153

Move Semantics and the Rvalue Reference    1164

New Class Features     1178

Lambda Functions     1184

Wrappers     1191

Variadic Templates     1197

More C++11 Features     1202

Language Change    1205

What Now?     1207

Summary     1208

Chapter Review     1209

Programming Exercises     1212



A Number Bases    1215

B C++ Reserved Words     1221

C The ASCII Character Set     1225

D Operator Precedence    1231

E Other Operators    1235

F The stringTemplate Class     1249

G The Standard Template Library Methods and Functions     1271

H Selected Readings and Internet Resources     1323

I Converting to ISO Standard C++    1327

J Answers to Chapter Reviews     1335

Index     1367

Rewards Program

Write a Review