OO/C++ Fundamentals
1. Table of Contents


0   Cover Page          12.3      moretasks.h
1   Table of Contents          12.4      demo.cpp
2   Revision History          12.5      output.txt
3   Administration Details          13   Slicing
3.1      Instructor and contacts          13.1      Slicing
3.2      Schedule          13.2      slice.h
3.3      Preparation          13.3      demo.cpp
4   Course Outline          13.4      output.txt
5   Glossary of Basic Terms          14   Inheritance Issues
6   Bibliography          14.1      Objective
7   The Unified Modelling Language (UML) Notation          14.2      Inheritance and the is-a relation
7.1      Introduction and References          14.3      Principle of substitution
7.2      Class Diagrams          14.4      Polymorphism and Virtual Functions
8   Basic OO notions          14.5      Foundation Classes
8.1      Reuse          14.6      Behaviour Restriction
8.2      Object-Oriented Analysis / Object-Oriented Design          14.7      Things to think about
8.3      The general OOAD process          15   Templates
9   Storage and Memory Management          15.1      A template for SmartPtr
9.1      Classes of Object Storage          15.2      Template Substitution
9.2      The Static Area          15.3      smartptr.h
9.3      The Stack          15.4      demo.cpp
9.4      The Heap          15.5      output.txt
9.5      Calling Functions          16   Container Classes and Iterators
10   Lifecycle of a simple bare object          16.1      Containers
10.1      The Basic Class          16.2      Box of pointers to tasks
10.2      Key Points          16.3      box.h
10.3      Organization of an Object          16.4      demo.cpp
10.4      Value Semantics          16.5      output.txt
10.5      Visibility          16.6      Box of smart pointers to tasks
10.6      Persistence and Display Representation          16.7      demo.cpp
10.7      Basic Object Check List          16.8      output.txt
10.8      Things to Think About          16.9      A box of strings
10.9      simplebase.h          16.10      smartarray.h
10.10      simplebase.cpp          16.11      demo.p
10.11      demo.cpp          16.12      output.txt
10.12      output.txt          17   Class Evaluation
11   Scoped Task Objects and Smart Pointers          17.1      Quality of Classes
11.1      Scoped task object          18   Design Patterns
11.2      Smart Pointers          18.1      Design Patterns
11.3      task.h          18.2      The Gang of Four Pattern Catalog
11.4      smarttask.h          18.3      The Composite Pattern
11.5      demo.cpp          18.4      The Observer Pattern
11.6      output.txt          19   Defensive Coding
12   Simple Inheritance          19.1      Code Issues
12.1      Inheritance Concepts          19.2      The Trouble Stack
12.2      Inheritance as Reuse          20   End of Document


1. Table of Contents
OO/C++/Fund/1998.2.07