上冊(cè)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下冊(cè)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