Your textbook…
Enhance your learning experience with text-specific study materials.
These online resources are available at no cost.
Companion Website - Adams, 3rd Edition
Table of Contents
(NOTE: Each chapter concludes with Chapter Summary, Programming Pointers, and Programming Problems.)
0. Beginning Snapshots.
1. Problem Solving and Software Engineering.
2. Types.
3. Operations and Expressions.
4. Functions.
5. Using Classes.
6. Selection.
7. Repetition.
8. Functions in Depth.
9. Files and Streams.
10. Arrays and Vector “T”s.
11. Building Classes.
12. Enumerations.
13. Multidimensional Arrays.
14. Pointers and Run-Time Allocation.
15. Data Structures.
0. Beginning Snapshots.
PART OF THE PICTURE: What Is Computer Science? PART OF THE PICTURE: The History of Computing. PART OF THE PICTURE: Introduction to Computer Systems.
1. Problem Solving and Software Engineering.
Welcome to the World of C++. Problem Solving through Software Engineering. Case Study: Revenue Calculation. OBJECTive Thinking: Spheres As Objects. PART OF THE PICTURE: Ethics and Issues.
2. Types.
Introductory Example: Computing Student Pay. Types and Declarations. PART OF THE PICTURE: Data Representation. OBJECTive Thinking: Attribute Variables.
3. Operations and Expressions.
Introductory Example: Einstein's Equation. Numeric Expressions. Boolean Expressions. Character Expressions. Assignment Expressions. Input/Output Expressions. Example: Truck Fleet Accounting. OBJECTive Thinking: Initialization and Constructors.
4. Functions.
Introductory Example: Temperature Conversion with Expressions. Introductory Example: Temperature Conversion with Functions. Functions That Use Selection. Functions That Use Repetition. PART OF THE PICTURE: Computability Theory. Case Study: An 8-Function Calculator. An Introduction to Libraries. OBJECTive Thinking: Class Methods.
5. Using Classes.
Introductory Example: “The Farmer in the Dell.” Introduction to Classes. The istream and ostream Classes. Computing with string Objects. Case Study: Decoding Phone Numbers. PART OF THE PICTURE: Simulation. OBJECTive Thinking: Instance Methods.
6. Selection.
Introductory Example: School Mascots. Selection: The if Statement. Selection: The switch Statement. Example: Computing Letter Grades. Selection: Conditional Expressions. PART OF THE PICTURE: Boolean Logic and Digital Design. PART OF THE PICTURE: Computer Architecture. OBJECTive Thinking: Mutator Methods.
7. Repetition.
Introductory Example: The Punishment of Gauss. Repetition: The for Loop. Repetition: The while Loop. Repetition: The do Loop. Input Loops. Choosing the Right Loop. Case Study: Calculating Depreciation. PART OF THE PICTURE: Introduction to Algorithm Analysis. OBJECTive Thinking: Code. Reuse Through Inheritance.
8. Functions in Depth.
Introductory Example: One-Step Integer Division. Parameters in Depth. Examples of Parameter Usage. Inline Functions. Scope, Overloading, and Templates. A Brief Introduction to Recursion. PART OF THE PICTURE: Numerical Methods. OBJECTive Thinking: Class Variables, Instance Variables, and Scope.
9. Files and Streams.
Introductory Example: Weather Data Analysis. ifstream and ofstream Objects. Example: Scanning for a Virus. Additional Stream Features. PART OF THE PICTURE: Database Systems. OBJECTive Thinking: Objects and Streams.
10. Arrays and Vector “T”s.
Introductory Example: Quality Control. C-Style Arrays. Sorting. Searching. Example: Processing Employee Information. The vector“T” Class Template. Example: Processing Test Scores. OBJECTive Thinking: Objects and Sequences.
11. Building Classes.
Introductory Example: Modeling Temperatures. Designing a Class. Implementing Class. Attributes. Implementing Class Operations. Example: Retrieving Student Information. OBJECTive Thinking: Operator Overloading and Friends.
12. Enumerations.
Introductory Example: Wavelengths of Colors. C-Style Enumerations. Object-Oriented Enumerations. Example: Geological Classification. PART OF THE PICTURE: The C++ Type Hierarchy. OBJECTive Thinking: Inheritance and Polymorphism.
13. Multidimensional Arrays.
Introductory Example: Mileage between Cities. C-Style Multidimensional Arrays. Multidimensional vector“T” Objects. A vector “T”-Based Matrix Library. PART OF THE PICTURE: Computer Graphics. OBJECTive Thinking: The Matrix Class Revisited.
14. Pointers and Run-Time Allocation.
Introduction to Pointer Variables. Run-Time Allocation Using new and delete. The STL list Class Template. Pointers and Command-Line Arguments. PART OF THE PICTURE: Algorithm Efficiency. OBJECTive Thinking: Pointers and Polymorphism.
15. Data Structures.
Introductory Example: The Binary Representation of Integers. The Queue Container. Recursion Revisited. An Introduction to Trees. Trees in STL. PART OF THE PICTURE: Expert Systems.