作者简介 Paul Deitel和Harvey Deitel是全球畅销的编程语言教材和专业图书作家,“How to Program”系列是其*负盛名的一套计算机编程教材,已经销售近40年,并被翻译成中文在内的十几种语言。他们成立的Deitel & Associates公司是一家国际知名的企业培训和写作公司,专门进行计算机编程语言、对象技术、移动应用开发及Internet和Web软件技术方面的培训和写作,出版了一流的编程专业的大学教材、 专业图书以及LiveLessons视频课程。Paul Deitel和Harvey Deitel是全球畅销的编程语言教材和专业图书作家,“How to Program”系列是其*负盛名的一套计算机编程教材,已经销售近40年,并被翻译成中文在内的十几种语言。他们成立的Deitel & Associates公司是一家国际知名的企业培训和写作公司,专门进行计算机编程语言、对象技术、移动应用开发及Internet和Web软件技术方面的培训和写作,出版了一流的编程专业的大学教材、 专业图书以及LiveLessons视频课程。
目录 Contents Chapter 1 Introduction to Computers and C++ 1 1.1 Introduction 2 1.2 Computers and the Internet in Industry and Research 2 1.3 Hardware and Software 4 1.4 Data Hierarchy 6 1.5 Machine Languages, Assembly Languages and High-Level Languages 7 1.6 C++ 8 1.7 Programming Languages 9 1.8 Introduction to Object Technology 10 1.9 Typical C++ Development Environment 13 1.10 Test-Driving a C++ Application 15 1.11 Operating Systems 20 1.12 The Internet and World Wide Web 22 1.13 Some Key Software Development Terminology 23 1.14 C++11 and the Open Source Boost Libraries 25 1.15 Keeping Up to Date with Information Technologies 25 1.16 Web Resources 26 Chapter 2 Introduction to C++ Programming; Input/Output and Operators 31 2.1 Introduction 31 2.2 First Program in C++: Printing a Line of Text 32 2.3 Modifying Our First C++ Program 35 2.4 Another C++ Program: Adding Integers 36 2.5 Memory Concepts 39 2.6 Arithmetic 40 2.7 Decision Making: Equality and Relational Operators 43 2.8 Wrap-Up 47 Chapter 3 Introduction to Classes, Objects and Strings 55 3.1 Introduction 55 3.2 Defining a Class with a Member Function 56 3.3 Defining a Member Function with a Parameter 58 3.4 Data Members, set Member Functions and get Member Functions 61 3.5 Initializing Objects with Constructors 66 3.6 Placing a Class in a Separate File for Reusability 69 3.7 Separating Interface from Implementation 72 3.8 Validating Data with set Functions 76 3.9 Wrap-Up 80 Chapter 4 Control Statements: Part 1; Assignment, ++ and - - Operators 87 4.1 Introduction 87 4.2 Algorithms 88 4.3 Pseudocode 88 4.4 Control Structures 89 4.5 if Selection Statement 92 4.6 if…else Double-Selection Statement 93 4.7 while Repetition Statement 97 4.8 Formulating Algorithms: Counter-Controlled Repetition 98 4.9 Formulating Algorithms: Sentinel-Controlled Repetition 103 4.10 Formulating Algorithms: Nested Control Statements 111 4.11 Assignment Operators 116 4.12 Increment and Decrement Operators 116 4.13 Wrap-Up 118 Chapter 5 Control Statements: Part 2; Logical Operators 131 5.1 Introduction 131 5.2 Essentials of Counter-Controlled Repetition 132 5.3 for Repetition Statement 133 5.4 Examples Using the for Statement 136 5.5 do…while Repetition Statement 140 5.6 switch Multiple-Selection Statement 141 5.7 break and continue Statements 148 5.8 Logical Operators 150 5.9 Confusing the Equality (==) and Assignment (=) Operators 153 5.10 Structured Programming Summary 154 5.11 Wrap-Up 158 Chapter 6 Functions and an Introduction to Recursion 167 6.1 Introduction 168 6.2 Program Components in C++ 168 6.3 Math Library Functions 169 6.4 Function Definitions with Multiple Parameters 170 6.5 Function Prototypes and Argument Coercion 174 6.6 C++ Standard Library Headers 176 6.7 Case Study: Random Number Generation 177 6.8 Case Study: Game of Chance; Introducing enum 182 6.9 C++11 Random Numbers 185 6.10 Storage Classes and Storage Duration 186 6.11 Scope Rules 189 6.12 Function Call Stack and Activation Records 191 6.13 Functions with Empty Parameter Lists 194 6.14 Inline Functions 195 6.15 References and Reference Parameters 196 6.16 Default Arguments 198 6.17 Unary Scope Resolution Operator 200 6.18 Function Overloading 200 6.19 Function Templates 203 6.20 Recursion 205 6.21 Example Using Recursion: Fibonacci Series 208 6.22 Recursion vs. Iteration 210 6.23 Wrap-Up 213 Chapter 7 Class Templates array and vector; Catching Exceptions 232 7.1 Introduction 233 7.2 arrays 233 7.3 Declaring arrays 234 7.4 Examples Using arrays 235 7.5 Range-Based for Statement 244 7.6 Case Study: Class GradeBook Using an array to Store Grades 246 7.7 Sorting and Searching arrays 251 7.8 Multidimensional arrays 252 7.9 Case Study: Class GradeBook Using a Two-Dimensional array 255 7.10 Introduction to C++ Standard Library Class Template vector 260 7.11 Wrap-Up 264 Chapter 8 Pointers 279 8.1 Introduction 280 8.2 Pointer Variable Declarations and Initialization 280 8.3 Pointer Operators 281 8.4 Pass-by-Reference with Pointers 283 8.5 Built-In Arrays 287 8.6 Using const with Pointers 289 8.7 sizeof Operator 292 8.8 Pointer Expressions and Pointer Arithmetic 294 8.9 Relationship Between Pointers and Built-In Arrays 296 8.10 Pointer-Based Strings 299 8.11 Wrap-Up 301 Chapter 9 Classes: A Deeper Look; Throwing Exceptions 316 9.1 Introduction 317 9.2 Time Class Case Study 317 9.3 Class Scope and Accessing Class Members 323 9.4 Access Functions and Utility Functions 324 9.5 Time Class Case Study: Constructors with Default Arguments 324 9.6 Destructors 328 9.7 When Constructors and Destructors Are Called 329 9.8 Time Class Case Study: A Subtle Trap— Returning a Reference or a Pointer to a private Data Member 331 9.9 Default Memberwise Assignment 334 9.10 const Objects and const Member Functions 335 9.11 Composition: Objects as Members of Classes 337 9.12 friend Functions and friend Classes 341 9.13 Using the this Pointer 343 9.14 static Class Members 347 9.15 Wrap-Up 351 Chapter 10 Operator Overloading; Class string 361 10.1 Introduction 362 10.2 Using the Overloaded Operators of Standard Library Class string 362 10.3 Fundamentals of Operator Overloading 365 10.4 Overloading Binary Operators 366 10.5 Overloading the Binary Stream Insertion and Stream Extraction Operators 367 10.6 Overloading Unary Operators 370 10.7 Overloading the Unary Prefix and Postfix ++ and -- Operators 370 10.8 Case Study: A Date Class 371 10.9 Dynamic Memory Management 375 10.10 Case Study: Array Class 377 10.11 Operators as Member vs. Non-Member Functions 387 10.12 Converting Between Types 388 10.13 explicit Constructors and Conversion Operators 389 10.14 Overloading the Function Call Operator () 391 10.15 Wrap-Up 392 Chapter 11 Object-Oriented Programming: Inheritance 402 11.1 Introduction 402 11.2 Base Classes and Derived Classes 403 11.3 Relationship between Base and Derived Classes 405 11.4 Constructors and Destructors in Derived Classes 422 11.5 public, protected and private Inheritance 424 11.6 Software Engineering with Inheritance 425 11.7 Wrap-Up 425 Chapter 12 Object-Oriented Programming: Polymorphism 431 12.1 Introduction 432 12.2 Introduction to Polymorphism: Polymorphic Video Game 432 12.3 Relationships Among Objects in an Inheritance Hierarchy 433 12.4 Type Fields and switch Statements 443 12.5 Abstract Classes and Pure virtual Functions 444 12.6 Case Study: Payroll System Using Polymorphism 445 12.7 (Optional) Polymorphism, Virtual Functions and Dynamic Binding “Under the Hood” 456 12.8 Case Study: Payroll System Using Polymorphism and Runtime Type Information with Downcasting, dynamic_cast, typeid and type_info 459 12.9 Wrap-Up 462 Chapter 13 Stream Input/Output: A Deeper Look 468 13.1 Introduction 469 13.2 Streams 469 13.3 Stream Output 472 13.4 Stream Input 473 13.5 Unformatted I/O Using read, write and gcount 476 13.6 Introduction to Stream Manipulators 477 13.7 Stream Format States and Stream Manipulators 481 13.8 Stream Error States 488 13.9 Tying an Output Stream to an Input Stream 490 13.10 Wrap-Up 490 Chapter 14 File Processing 499 14.1 Introduction 499 14.2 Files and Streams 500 14.3 Creating a Sequential File 500 14.4 Reading Data from a Sequential File 504 14.5 Updating Sequential Files 508 14.6 Random-Access Files 508 14.7 Creating a Random-Access File 509 14.8 Writing Data Randomly to a Random-Access File 513 14.9 Reading from a Random-Access File Sequentially 514 14.10 Case Study: A Transaction-Processing Program 516 14.11 Object Serialization 521 14.12 Wrap-Up 521 Chapter 15 Standard Library Containers and Iterators 530 15.1 Introduction 531 15.2 Introduction to Containers 532 15.3 Introduction to Iterators 535 15.4 Introduction to Algorithms 538 15.5 Sequence Containers 539 15.6 Associative Containers 550 15.7 Container Adapters 557 15.8 Class bitset 561 15.9 Wrap-Up 562 Chapter 16 Standard Library Algorithms 573 16.1 Introduction 573 16.2 Minimum Iterator Requirements 574 16.3 Algorithms 575 16.4 Function Objects 600 16.5 Lambda Expressions 603 16.6 Standard Library Algorithm Summary 604 16.7 Wrap-Up 605 Chapter 17 Exception Handling: A Deeper Look 613 17.1 Introduction 613 17.2 Example: Handling an Attempt to Divide by Zero 614 17.3 Rethrowing an Exception 618 17.4 Stack Unwinding 6
以下为对购买帮助不大的评价