CSE687 - Object Oriented Design

Lecture #15 - iostreams

Revised: 05 March 2008
Home Courses Code Handouts CoreTech Books Articles Math Research Masters Projects SWDev WebDev News OtherLinks SiteDesign Graduates AllPages Office Hours Notices Contents

CSE681-SWMAA CSE686-IP CSE687-OOD CSE775-DO CSE776-DP CSE778-AWP CSE784-SWS

Lecture #01 Lecture #02 Lecture #03 Lecture #04 Lecture #05 Lecture #06 Lecture #07
Lecture #08 Lecture #09 Lecture #10 Lecture #11 Lecture #12 Lecture #13 Lecture #14
Lecture #15 Lecture #16 Lecture #17 Lecture #18 Lecture #19 Lecture #20 Lecture #21
Lecture #22 Lecture #23 Lecture #24 Lecture #25 Lecture #26 Lecture #27 Lecture #28

Contents Syllabus SG - Design SG - Templates SG - Class Relationships

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

Office Hours: Instructor & TAs

Content:

No classes next week - Spring Break!

In this lecture we continue to explore iostreams.
  1. Syllabus
    Describes topics to be covered, reading material for you to digest before coming to class, and due dates for the assigned projects.
  2. Pr1 Test Files, Module Structure, Demo Structure, Fragile Designs
  3. Project #2
    Graph data type.
  4. 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.
  5. Project #2 Help
  6. iostreams presentation
    The presentation discusses the iostream hierarchy and the role of each of many of its classes.
  7. iostreams reference
    The reference presents class relationships and interface details.
  8. iostreams code examples
    Illustrates stream formatting, buffering, opening for reading and writing, and use of stringstreams.
  9. Stream Iterators
    A short example demonstrating input and output stream iterators.
  10. Veneers and BoltIns
  11. What's going to be on the Midterm Exam?
    1. Classes: composition, inheritance, initialization, temporaries, copy and assignment operations, default operations.
    2. Templates: function and class templates, specialization, template policies and traits.
    3. Principles: LSP, OCP, DIP, ISP
    4. Programming to Interfaces, Object Factories.
    5. Streams: iostream, fstream, sstream
    6. Namespaces, RTTI
    7. Exceptions
  12. Software Design
    Design goals and principles.
  13. Design Flaws
  14. Common Problems
  15. Design Presentation
    Summarizes design issues for modules and classes.
  16. Design Rules
    Design rules and idioms that transcend Object Oriented Design.
  17. 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.