| |
| |
| |
Writing an ANSI C++ Program | |
| |
| |
Getting Ready to Program | |
| |
| |
A First Program.Problem Solving Recipes | |
| |
| |
Implementing Our Algorithm in C++ | |
| |
| |
Software Engineering: Style | |
| |
| |
Dr. P's Prescriptions | |
| |
| |
C++ compared with Java | |
| |
| |
| |
Native Types and Statements | |
| |
| |
Program Elements | |
| |
| |
Input/Output | |
| |
| |
Program Structure | |
| |
| |
Simple Types | |
| |
| |
The Traditional Conversions | |
| |
| |
Enumeration Types | |
| |
| |
Expressions | |
| |
| |
Statements | |
| |
| |
Software Engineering: Debugging | |
| |
| |
Dr. P's Prescriptions | |
| |
| |
C++ compared with Java | |
| |
| |
| |
Functions, Pointers and Arrays | |
| |
| |
Functions | |
| |
| |
Function Invocation | |
| |
| |
Function Definition | |
| |
| |
The return Statement | |
| |
| |
Function Prototypes | |
| |
| |
Default Arguments | |
| |
| |
Functions as Arguments | |
| |
| |
Overloading Functions | |
| |
| |
Inlining | |
| |
| |
Scope and Storage Class | |
| |
| |
Namespaces | |
| |
| |
Pointer Types | |
| |
| |
Reference Declarations | |
| |
| |
The Uses of void | |
| |
| |
Arrays | |
| |
| |
Arrays and Pointers | |
| |
| |
Passing Arrays to Functions | |
| |
| |
Core Language ADT: char* String | |
| |
| |
Multidimensional Arrays | |
| |
| |
Operators new and delete | |
| |
| |
Software Engineering: Program Correctness | |
| |
| |
Dr. P's Prescriptions | |
| |
| |
C++ Compared with Java | |
| |
| |
| |
Classes and Abstract Data Types | |
| |
| |
The Aggregate Type class and struct | |
| |
| |
Member Selection Operator | |
| |
| |
Member Functions | |
| |
| |
Access: Private and Public | |
| |
| |
Classes | |
| |
| |
Class Scope | |
| |
| |
An Example: Flushing | |
| |
| |
The this Pointer | |
| |
| |
static and const Members | |
| |
| |
A Container Class Example: ch_stack | |
| |
| |
Software Engineering: Class Design | |
| |
| |
Dr. P's Prescriptions | |
| |
| |
C++ Compared with Java | |
| |
| |
Unions | |
| |
| |
Bit Fields | |
| |
| |
| |
Ctors, Dtors, Conversions and Operator Overloading | |
| |
| |
Classes with Constructors | |
| |
| |
Improving the point Class | |
| |
| |
Constructing a Stack | |
| |
| |
Classes with Destructors | |
| |
| |
Members That Are Class Types | |
| |
| |
Example: A Singly Linked List | |
| |
| |
Strings Using Reference Semantics | |
| |
| |
Constructor Issues and Mysteries | |
| |
| |
Polymorphism | |
| |
| |
Overloading and Function Selection | |
| |
| |
Friend Functions | |
| |
| |
Overloading Operators | |
| |
| |
Unary Operator Overloading | |
| |
| |
Binary Operator Overloading | |
| |
| |
Overloading =, [ ] and ( ) | |
| |
| |
Overloading | |
| |
| |
Overloading | |
| |
| |
Overloading new and delete | |
| |
| |
Software Engineering: Overloading | |
| |
| |
Dr. P's Prescriptions | |
| |
| |
C++ Compared with Java | |
| |
| |
| |
Templates and Generic Programming | |
| |
| |
Template Class stack | |
| |
| |
Function Templates | |
| |
| |
Generic Code Development: Quicksort | |
| |
| |
Class Templates | |
| |
| |
Parameterizing the Class vector | |
| |
| |
Using STL: string, vector and complex | |
| |
| |
Software Engineering: Generics | |
| |
| |
Dr. P's Prescriptions | |
| |
| |
C++ Compared with Java | |
| |
| |
| |
Standard Template Library | |
| |
| |
A Simple STL Example | |
| |
| |
Containers | |
| |
| |
Iterators | |
| |
| |
Algorithms | |
| |
| |
Numerical Integration Made Easy | |
| |
| |
STL: Function Objects | |
| |
| |
Allocators | |
| |
| |
Software Engineering: STL Use | |
| |
| |
Dr. P's Prescriptions | |
| |
| |
C++ Compared with Java | |
| |
| |
| |
Inheritance and OOP | |
| |
| |
A Derived Class | |
| |
| |
A Student ISA Person | |
| |
| |
Virtual Functions: How T is Dynamically Determined | |
| |
| |
Abstract Base Classes | |
| |
| |
Templates and Inheritance | |
| |
| |
Multiple Inheritance | |
| |
| |
Inheritance and Design | |
| |
| |
Runtime Type Identification | |
| |
| |
Software Engineering: Inheritance | |
| |
| |
Dr. P's Prescriptions | |
| |
| |
C++ Compared with Java | |
| |
| |
| |
Input/Output | |
| |
| |
The Output Class ostream | |
| |
| |
Formatted Output and iomanip | |
| |
| |
User-Defined Types: Output | |
| |
| |
The Input Class istream | |
| |
| |
Files | |
| |
| |
Using Strings as Streams | |
| |
| |
The Functions and Macros in ctype | |
| |
| |
Using Stream States | |
| |
| |
Mixing I/O Libraries | |
| |
| |
Software Engineering: IO | |
| |
| |
Dr. P's Prescriptions | |
| |
| |
C++ Compared with Java | |
| |
| |
| |
Exceptions and Program Correctness | |
| |
| |
Using the assert Library | |
| |
| |
C++ Exceptions | |
| |
| |
Throwing Exceptions | |
| |
| |
try Blocks | |
| |
| |
Handlers | |
| |
| |
Converting Assertions to Exceptions | |
| |
| |
Exception Specification | |
| |
| |
terminate() and unexpected() | |
| |
| |
Standard Exceptions and Their Uses | |
| |
| |
Software Engineering: Exception Objects | |
| |
| |
Dr. P's Prescriptions | |
| |
| |
C++ Compared with Java | |
| |
| |
| |
OOP Using C++ | |
| |
| |
OOP Language Requirements | |
| |
| |
OOP: The Dominant Programming Methodology | |
| |
| |
Designing with OOP in Mind | |
| |
| |
Class-Responsibility-Collaborator | |
| |
| |
Design Patterns | |
| |
| |
Software Engineering: Last Thoughts | |
| |
| |
Dr. P's Prescriptions | |
| |
| |
C++ Compared with Java | |