上册Introduction 11 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 252 Setting Out to C++ 27
C++ Initiation 27
C++ Statements 41
More C++ Statements 45
Functions 48
Summary 61
Chapter Review 62
Programming Exercises 623 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 1114 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 1925 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 2516 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 3017 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 3748 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 4449 Memory Models and Namespaces 447
Separate Compilation 447
Storage Duration, Scope, and Linkage 453
Namespaces 482
Summary 497
Chapter Review 498
Programming Exercises 50110 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 55911 Working with Classes 563
Operator Overloading 564
Time on Our Hands: Developing an Operator OverloadingExample 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 62312 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下册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 78014 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 87115 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 94916 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
Summary 1054
Chapter Review 1056
Programming Exercises 105717 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 114818 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 1212Appendixes
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 string Template 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 1335Index 1367