Procedural Programming |
Ch 1 up to classes |
references, increments, static vars |
Object-Based Programming |
Ch1 from classes, Ch 6, Ch 7 |
copy-and-swap idiom |
Introduction to Templates
| Templates in Ch 11 |
swap, list
|
Standard Template Library: Containers
| Ch 11, Ch 12 |
container examples
|
STL: Algorithms
| |
algorithm examples |
STL: Extending |
|
exending algorithms, writing containers |
Singleton Design Pattern |
Ch 7 and 29, P3* |
classic and meyer's singleton |
Inheritance,
Polymorphism, Abstract Classes, Template Method Pattern |
Ch 8, P5 |
inheritance, templated figures,
templated games |
Abstract Factory Design Pattern |
Ch 29, P3
| GUI, pizza factory, car factory
|
Delegation, Bridge Design Pattern |
P4 |
figures, appliances
|
Access Methods and Inheritance,
Multiple Inheritance, Adapter Design Pattern |
P4 |
figures using object and class adapter |
Covariance, Prototype Design Pattern |
P3 |
prototyped figures
|
State Design Pattern |
P5 |
the state of Zork |
Decorator Design Pattern |
ch 29, P4 |
decorating a web-page |
Observer Design Pattern,
Push and Pull communication methods |
ch 29, P5 |
observing messages and name change |
Chain of Responsibility
Design Pattern |
ch 29, P4 |
handling events in figures |
Strategy Design Pattern |
P5 |
elementary, sorting |
Command Design Pattern |
P5 |
history |
Memento Design Pattern,
PIMPL idiom, nested classes |
P5 |
snapshot,
pimpl |
Visitor Design Pattern, double dispatch |
P5 |
inspecting car parts |
Smart Pointers |
22 (3d edition) |
unique_ptr, shared_ptr, PIMPL with smart pointers |
Composite |
P4 |
calculator, genealogical tree |
Implementing Design
Patterns Using Templates |
|
singleton, factory |
Metaprogramming |
ch 20 |
branching, factorial,
loop unrolling
|