1. Introduction To Computer And Programming
· Machine Languages, Assembly Languages and High-Level Languages
· History of C and C++
· C++ Standard Library
· History of Java
· FORTRAN, COBOL, Pascal and Ada
· Basic, Visual Basic, Visual C++, C# and .NET
· Typical C++ Development Environment
· Notes About C++
2. Introduction To C++ Programming
· First Program in C++: Printing a Line of Text
· Modifying Our First C++ Program
· Another C++ Program: Adding Integers
· Memory Concepts
· Arithmetic
· Decision Making: Equality and Relational Operators
3. Control Statements
· Algorithms
· Pseudocode
· Control Structures
· if Selection Statement
· if...else Double-Selection Statement
· while Repetition Statement
· Formulating Algorithms: Counter-Controlled Repetition
· Formulating Algorithms: Sentinel-Controlled Repetition
· Formulating Algorithms: Nested Control Statements
· Assignment Operators
· Increment and Decrement Operators
· Essentials of Counter-Controlled Repetition
· for Repetition Statement
· Examples Using the for Statement
· do...while Repetition Statement
· switch Multiple-Selection Statement
· break and continue Statements
· Logical Operators
· Confusing Equality (==) and Assignment (=) Operators
· Structured Programming Summary
4. Functions and an Introduction to Recursion
· Math Library Functions
· Function Definitions with Multiple Parameters
· Function Prototypes and Argument Coercion
· C++ Standard Library Header Files
· Case Study: Random Number Generation
· Case Study: Game of Chance and Introducing enum
· Storage Classes
· Scope Rules
· Function Call Stack and Activation Records
· Functions with Empty Parameter Lists
· Inline Functions
· References and Reference Parameters
· Default Arguments
· Unary Scope Resolution Operator
· Function Overloading
· Function Templates
· Recursion
· Example Using Recursion: Fibonacci Series
· Recursion vs. Iteration
5. Arrays and Vectors
· Arrays
· Declaring Arrays
· Examples Using Arrays
· Passing Arrays to Functions
· Case Study: Class GradeBook Using an Array to Store Grades
· Searching Arrays with Linear Search
· Sorting Arrays with Insertion Sort
· Multidimensional Arrays
· Case Study: Class GradeBook Using a Two-Dimensional Array
· Introduction to C++ Standard Library Class Template vector
6. Pointers and Pointer-Based Strings
· Pointer Variable Declarations and Initialization
· Pointer Operators
· Passing Arguments to Functions by Reference with Pointers
· Using const with Pointers
· Selection Sort Using Pass-by-Reference
· sizeof Operators
· Pointer Expressions and Pointer Arithmetic
· Relationship Between Pointers and Arrays
· Arrays of Pointers
· Case Study: Card Shuffling and Dealing Simulation
· Function Pointers
· Introduction to Pointer-Based String Processing
· Fundamentals of Characters and Pointer-Based Strings
· String Manipulation Functions of the String-Handling Library
7. Exception Handling
· Exception-Handling Overview
· Example: Handling an Attempt to Divide by Zero
· When to Use Exception Handling
· Rethrowing an Exception
· Exception Specifications
· Processing Unexpected Exceptions
· Stack Unwinding
· Constructors, Destructors and Exception Handling
· Exceptions and Inheritance
· Processing new Failures
· Class auto_ptr and Dynamic Memory Allocation
· Standard Library Exception Hierarchy
· Other Error-Handling Techniques
8. Searching and Sorting
· Searching Algorithms
· Efficiency of Linear Search
· Binary Search
· Sorting Algorithms
· Efficiency of Selection Sort
· Efficiency of Insertion Sort
· Merge Sort (A Recursive Implementation)
9. Data Structures
· Self-Referential Classes
· Dynamic Memory Allocation and Data Structures
· Linked Lists
· Stacks
· Queues
· Trees