| 1 | Introduction to Computers, the Internet and World Wide Web | 1 |
| | | |
| 1.1 | Introduction | 2 |
| 1.2 | What Is a Computer? | 3 |
| 1.3 | Computer Organization | 4 |
| 1.4 | Early Operating Systems | 5 |
| 1.5 | Personal, Distributed and Client/Server Computing | 5 |
| 1.6 | The Internet and the World Wide Web | 6 |
| 1.7 | Machine Languages, Assembly Languages and High-Level Languages | 6 |
| 1.8 | History of C and C++ | 8 |
| 1.9 | C++ Standard Library | 8 |
| 1.1 | History of Java | 9 |
| 1.11 | FORTRAN, COBOL, Pascal and Ada | 10 |
| 1.12 | Basic, Visual Basic, Visual C++, C# and .NET | 11 |
| 1.13 | Key Software Trend: Object Technology | 11 |
| 1.14 | Typical C++ Development Environment | 12 |
| 1.15 | Notes About C++ and Small C++ How to Program, 5/e | 15 |
| 1.16 | Test-Driving a C++ Application | 16 |
| 1.17 | Introduction to Object Technology and the UML | 22 |
| 1.18 | Wrap-Up | 27 |
| 1.19 | Web Resources | 28 |
| 2 | Introduction to C++ Programming | 36 |
| 2.1 | Introduction | 37 |
| 2.2 | First Program in C++: Printing a Line of Text | 37 |
| 2.3 | Modifying Our First C++ Program | 41 |
| 2.4 | Another C++ Program: Adding Integers | 42 |
| 2.5 | Memory Concepts | 46 |
| 2.6 | Arithmetic | 48 |
| 2.7 | Decision Making: Equality and Relational Operators | 51 |
| 2.8 | Wrap-Up | 56 |
| 3 | Introduction to Classes and Objects | 65 |
| 3.1 | Introduction | 66 |
| 3.2 | Classes, Objects, Member Functions and Data Members | 66 |
| 3.3 | Overview of the Chapter Examples | 68 |
| 3.4 | Defining a Class with a Member Function | 68 |
| 3.5 | Defining a Member Function with a Parameter | 72 |
| 3.6 | Data Members, set Functions and get Functions | 75 |
| 3.7 | Initializing Objects with Constructors | 82 |
| 3.8 | Placing a Class in a Separate File for Reusability | 86 |
| 3.9 | Separating Interface from Implementation | 90 |
| 3.1 | Validating Data with set Functions | 96 |
| 3.11 | Wrap-Up | 101 |
| 4 | Control Statements: Part 1 | 108 |
| 4.1 | Introduction | 109 |
| 4.2 | Algorithms | 109 |
| 4.3 | Pseudocode | 110 |
| 4.4 | Control Structures | 111 |
| 4.5 | if Selection Statement | 115 |
| 4.6 | if else Double-Selection Statement | 116 |
| 4.7 | while Repetition Statement | 121 |
| 4.8 | Formulating Algorithms: Counter-Controlled Repetition | 123 |
| 4.9 | Formulating Algorithms: Sentinel-Controlled Repetition | 129 |
| 4.1 | Formulating Algorithms: Nested Control Statements | 140 |
| 4.11 | Assignment Operators | 145 |
| 4.12 | Increment and Decrement Operators | 145 |
| 4.13 | Wrap-Up | 149 |
| 5 | Control Statements: Part 2 | 164 |
| 5.1 | Introduction | 165 |
| 5.2 | Essentials of Counter-Controlled Repetition | 165 |
| 5.3 | for Repetition Statement | 167 |
| 5.4 | Examples Using the for Statement | 172 |
| 5.5 | do while Repetition Statement | 176 |
| 5.6 | switch Multiple-Selection Statement | 178 |
| 5.7 | break and continue Statements | 188 |
| 5.8 | Logical Operators | 190 |
| 5.9 | Confusing Equality (==) and Assignment (=) Operators | 195 |
| 5.1 | Structured Programming Summary | 196 |
| 5.11 | Wrap-Up | 201 |
| 6 | Functions and an Introduction to Recursion | 211 |
| 6.1 | Introduction | 212 |
| 6.2 | Program Components in C++ | 213 |
| 6.3 | Math Library Functions | 214 |
| 6.4 | Function Definitions with Multiple Parameters | 216 |
| 6.5 | Function Prototypes and Argument Coercion | 221 |
| 6.6 | C++ Standard Library Header Files | 223 |
| 6.7 | Case Study: Random Number Generation | 225 |
| 6.8 | Case Study: Game of Chance and Introducing enum | 231 |
| 6.9 | Storage Classes | 235 |
| 6.1 | Scope Rules | 238 |
| 6.11 | Function Call Stack and Activation Records | 241 |
| 6.12 | Functions with Empty Parameter Lists | 245 |
| 6.13 | Inline Functions | 246 |
| 6.14 | References and Reference Parameters | 248 |
| 6.15 | Default Arguments | 253 |
| 6.16 | Unary Scope Resolution Operator | 255 |
| 6.17 | Function Overloading | 256 |
| 6.18 | Function Templates | 259 |
|