CSE687 - Object Oriented Design
Lecture #15 - iostreams
Revised: 05 March 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:
No classes next week - Spring Break!
In this lecture we continue to explore iostreams.
-
Syllabus
Describes topics to be covered,
reading material for you to digest before coming to class, and due dates
for the assigned projects.
-
Pr1 Test Files,
Module Structure,
Demo Structure,
Fragile Designs
-
Project #2
Graph data type.
-
XMLParsing or XMLTran
Two modules that do basic XML handling - building XML strings and pulling them apart. They do not understand
XML namespaces or schemas. Either on will work for Project #2.
-
Project #2 Help
-
iostreams presentation
The presentation discusses the iostream hierarchy and the role of each of many of its classes.
-
iostreams reference
The reference presents class relationships and interface details.
-
iostreams code examples
Illustrates stream formatting, buffering, opening for reading and writing, and use of stringstreams.
-
Stream Iterators
A short example demonstrating input and output stream iterators.
-
Veneers and BoltIns
-
What's going to be on the Midterm Exam?
-
Classes: composition, inheritance, initialization, temporaries, copy and assignment operations,
default operations.
-
Templates: function and class templates, specialization, template policies and traits.
-
Principles: LSP, OCP, DIP, ISP
-
Programming to Interfaces, Object Factories.
-
Streams: iostream, fstream, sstream
-
Namespaces, RTTI
-
Exceptions
-
Software Design
Design goals and principles.
-
Design Flaws
-
Common Problems
-
Design Presentation
Summarizes design issues for modules and classes.
-
Design Rules
Design rules and idioms that transcend Object Oriented Design.
-
Lecture #15 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.