Return to Computer Science Links Page
G++ for Win32
DJGPP (recommended)
Copy and Paste from a Console Window
VC++ Bugs
"using namespace std" before friend operatorAddendum
GRID.CPP
GRID.H
1. Basics
Variables, Values, and Types 1-1
Statements 1-2
Streams 1-5
Example: Computing Future Values 1-7
2. Control
Selection 2-1
Blocks 2-4
Example: Computing Progressive Tax 2-5
Iteration 2-6
Input Streams 2-8
The for Loop 2-12
Example: Counting the Number of Ways to Choose 2-13
3. Composite Values and Variables
Arrays 3-1
Pointers 3-2
Vectors 3-7
Characters 3-8
C Strings 3-10
C++ Strings 3-12
File Streams 3-15
Header Files 4-2
Standard Library Headers 4-6
The One-Definition Rule (ODR) 4-8
Problems 4-12
Modularity and Abstraction 5-1
Procedural Programming 5-2
Top Down Design 5-3
The Stack Model for Function Calls 5-8
Inline Functions 5-9
Parameter Passing mechanisms 5-9
Overloading 5-14
Function Templates 5-15
Example: Vector Arithmetic 5-16
Improving the Interpreter 5-19
String Streams 5-21
Another Interpreter 5-22
Problem: Blackjack 5-25
Recursive Functions 5-29
Narrowing the Semantic Gap 6-1
Objects 6-4
Scope Control
Member Functions
Constructors
Copying Objects
Inline Member Functions
The Implicit Parameter
Static Members
Destructors
Initializer Lists
Friends
UML Notation
Derived Classes 7-1
Derived Class Constructors
More UML Notation
Multiple Inheritance
Problems 7-11
Overloading Arithmetic Operators 8-1
Overloading Type Conversion Operators 8-4
Overloading Insertion and Extraction Operators 8-5
Safe Strings 8-6
Functors 8-8
Allocators 8-10
Problems 8-13
9. Polymorphism
Example 9-2
Virtual Function Tables 9-7
Abstract Classes 9-8
The Alternative: user-defined type tags 9-9
Frameworks and Template Methods 9-10
Problems 9-17
Templates 10-1
Exceptions 10-3
Problems 10-11
Applications 11-1
Orthodox Canonical Form 11-4
Smart Pointers 11-7
Vectors 11-13
Counted Pointer Idiom 11-19
Envelope-Letter Idiom 11-27
12. Strings
Characters 12-1
C Strings 12-2
C++ Strings 12-5
Custom Strings 12-9
13. Streams
Output Streams 13-1
Input Streams 13-5
Stream Structure 13-14
Format State 13-17
14. STL
Container Classes 14-1
The Standard Template Library 14-2
STL Containers
Sequences
Maps
Adapters
Problem 15-1
Solution 15-1
Static Structure 15-2
Implementation 15-3
Problem 15-13
16. Functors
Binders 16-3
Adapters 16-4
Function Adapters 16-5
Callables 16-6
17. Algorithms
The Pipe and Filter Design Pattern 17-1
Finders 17-2
for_each() 17-4
Conditionals 17-7
Transformers 17-8