CSE687 - Object Oriented Design
Lecture #15 - iostreams
Revised: 03 March 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:
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.
-
Project #2, Graph data type
Project #3, Testbed
Project #4, Remote Testbed with charting
-
Executable Specifications
-
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.