CSE687 - Object Oriented Design
Lecture #9 - Hierarchy Examples
Revised: 08 February 2009
Web Resources:
Stroustrup's Home Page,
Assoc. of C/C++ Users,
C++ at Microsoft,
Code Project,
Sells Brothers,
Guru of the Week,
C/C++ User's Journal,
devCentral,
Dr. Dobb's Journal,
Boost Library,
techNetCast
Content:
This lecture presents code examples of hierarchical relationships in the C++ language. We emphasize
understanding the semantics and processing model for these relationships.
-
Syllabus
Describes topics to be covered,
reading material for you to digest before coming to class, and due dates
for the assigned projects.
-
Project Uploads: You are required to use your own MySlice account credentials to upload projects - no exceptions.
-
Project #2
Graph class, Graph Algorithms
-
Project #2 Help
This prototype is a good foundation for your second submission. It shows one way to represent
a graph data structure and how to orchestrate it's required template parameters.
-
Hierarchy Presentation
Hierarchy is concerned with the relationships between classes - aggregation, composition, inheritance,
and using.
-
Demonstrate Composition
This project contains a number of demonstrations of basic composition relationships.
-
Demonstrate Inheritance
Contains demonstration of things to be careful with when using inheritance.
-
Virtual Function Pointer Table structure
-
Vectors of Polymorphic Objects - Example Project
Shows how to use heterogeneous objects in an STL container.
-
Liskov Substitution Principle
-
Design Rules
Design rules and idioms that transcend Object Oriented Design.