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, template friend
|
|
Standard Template Library: Sequential Containers
| Ch 11, Ch 12 |
vectors, deques, adapters, lists, roster example
|
|
STL: Associative Containers
| |
maps, multimaps, sets, hashes
|
|
STL: Algorithms
| |
algorithm examples |
|
STL: Extending |
|
extending algorithms, writing containers |
Singleton Design Pattern |
P3* |
classic and meyer's singleton |
|
Inheritance,
Polymorphism, Abstract Classes, Template Method Pattern |
P5, 7(constructor delegation), 9(inheritance) |
inheritance, constructor delegation, templated figures,
templated games |
|
Abstract vs. Concrete Classes, Abstract Factory Design Pattern |
P3
| GUI, car factory
|
|
Type Casting, Delegation, Bridge Design Pattern |
P4, 10(casting) |
casting, figures, appliances
|
|
Access Methods and Inheritance,
Multiple Inheritance, Adapter Design Pattern |
P4, 9(multiple inheritance) |
figures using object and class adapter |
|
Forward Class Declaration, State Design Pattern |
P5 |
the state of Zork |
|
Covariance, Prototype Design Pattern |
P3, 9 (type covariance) |
prototyped figures
|
|
Decorator Design Pattern |
P4 |
decorating a web-page |
|
Observer Design Pattern,
Push and Pull communication methods |
P5 |
observing messages and name change |
|
Chain of Responsibility
Design Pattern |
P4, 9(base class method invocation) |
approving loans, dispensing cash |
|
Visitor Design Pattern, double dispatch |
P5 |
inspecting car parts |
|
Composite |
P4 |
calculator, genealogical tree |
|
Command Design Pattern |
P5 |
history |
|
Memento Design Pattern |
P5 |
snapshot,
|
|
Registry Design Pattern
|
|
in Prototype and Observer |
|
Mediator |
P5 |
air traffic control |
Flyweight |
P4 |
officer ranks, digits |
|
Strategy Design Pattern |
P5 |
elementary, sorting |
|
PIMPL idiom, nested classes,
Smart Pointers |
22 (3d edition) |
pimpl,
unique_ptr, shared_ptr,
PIMPL with smart pointers, smart list |
|
Facade Design Pattern |
P4 |
facade for figures |
|
Design pattern relationships
|
. |
not covered |
Implementing Design
Patterns Using Templates |
|
singleton, factory |
Metaprogramming |
|
branching, factorial,
loop unrolling
|