
C++ Primer Plus
by Prata, Stephen-
Free Shipping on All Orders!
*excludes Marketplace items.
-
Complimentary 7-Day eTextbook Access - Read more
When you rent or buy this book, you will receive complimentary 7-day online access to the eTextbook version from your PC, Mac, tablet, or smartphone. Feature not included on Marketplace Items.
Buy New
Buy Used
Rent Book
Rent Digital
How Marketplace Works:
- This item is offered by an independent seller and not shipped from our warehouse
- Item details like edition and cover design may differ from our description; see seller's comments before ordering.
- Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
- Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
- Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.
Summary
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
Appendixes
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
An electronic version of this book is available through VitalSource.
This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.
By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.
Digital License
You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.
More details can be found here.
A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.
Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.
Please view the compatibility matrix prior to purchase.