CSE687 - Object Oriented Design
Lecture #5 - Abstract Data Types (continued)
Revised: 26 January 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 finishes Abstract Data Types, then presents templates, a type safe replacement for macros. We will show later in the course how templates
are used in the Standard Template Library to provide a powerful set of algorithms and data structures.
-
Syllabus
Describes topics to be covered,
reading material for you to digest before coming to class, and due dates
for the assigned projects.
-
Project #1
Building profilers introduces you to C++ scope and communication mechanisms.
-
Project #2
This project introduces you to graphs and XML processing.
-
Build Tools,
startup.bat,
VS Help
-
Abstract Data Types Presentation
What does it take to make objects of your class behave like built in types?
-
STR class
This is a good example of an ADT. It is presented as a nice example. You should prefer the
std::string class for all your development work.
-
C++ Operators
-
vector3D
An example of an Abstract Data Type that is rich in operators. Shows the accepted style for
building ADT classes with mathematical operations.
-
Namespaces
Basic information about how namespaces work. We will discuss why you want to use them.
-
Templates Presentation
Templates are one of the terrific features of the C++ language. They are the basis of the Standard
Template Library (STL) and are useful in day-to-day programming.
-
Software Design
-
Design Rules
Design rules and idioms that transcend Object Oriented Design.