|
|
|
|
|
Hour 18
Advanced Polymorphism |
|
|
|
| |
 |
|
|
|
|
Problems with Single Inheritance |
|
|
|
| |
 |
|
|
|
|
Abstract Data Types |
|
|
|
| |
 |
|
|
|
|
Pure Virtual Functions |
|
|
|
| |
 |
|
|
|
|
Complex Hierarchies of Abstraction |
|
|
|
| |
 |
|
|
|
|
Which Types Are Abstract? |
|
|
|
| |
 |
|
|
|
|
Summary |
|
|
|
| |
 |
|
|
|
|
Q&A |
|
|
|
| |
| |
 |
|
|
|
|
Linked Lists and Other Structures |
|
|
|
| |
 |
|
|
|
|
A Case Study |
|
|
|
| |
 |
|
|
|
|
Delegation of Responsibility |
|
|
|
| |
 |
|
|
|
|
The Component Parts |
|
|
|
| |
 |
|
|
|
|
What Have You Learned, Dorothy? |
|
|
|
| |
 |
|
|
|
|
Summary |
|
|
|
| |
 |
|
|
|
|
Q&A |
|
|
|
| |
| |
|
|
|
|
|
Hour 20
Special Classes and Functions |
|
|
|
| |
 |
|
|
|
|
Static Member Data |
|
|
|
| |
 |
|
|
|
|
Static Member Functions |
|
|
|
| |
 |
|
|
|
|
Containment |
|
|
|
| |
 |
|
|
|
|
Accessing Members of the Contained Class |
|
|
|
| |
 |
|
|
|
|
Filtering Access to Contained Members |
|
|
|
| |
 |
|
|
|
|
The Cost of Containment |
|
|
|
| |
 |
|
|
|
|
Copying by Value Versus by Reference |
|
|
|
| |
 |
|
|
|
|
Friend Classes |
|
|
|
| |
 |
|
|
|
|
Friend Functions |
|
|
|
| |
 |
|
|
|
|
Pointers to Functions |
|
|
|
| |
 |
|
|
|
|
Shorthand Invocation |
|
|
|
| |
 |
|
|
|
|
Arrays of Pointers to Functions |
|
|
|
| |
 |
|
|
|
|
Passing Pointers to Functions to Other Functions |
|
|
|
| |
 |
|
|
|
|
Using typedef with Pointers to Functions |
|
|
|
| |
 |
|
|
|
|
Pointers to Member Functions |
|
|
|
| |
 |
|
|
|
|
Arrays of Pointers to Member Functions |
|
|
|
| |
 |
|
|
|
|
Summary |
|
|
|
| |
 |
|
|
|
|
Q&A |
|
|
|
| |