CSE687 - Object Oriented Design
Lecture #9 - Hierarchy Examples
Revised: 27 February 2008
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 ecs account 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.
-
Lecture #9 folder
Contains a page of links to
presentations and code discussed in this class. The Lecture folders will occasionally
hold physical files of interest as well. Usually, however, all the materials
of interest to the class are in the presentations
and code folders. The contents of these folders will grow
as you progress through the course.