CSE687 - Object Oriented Design

Lecture #15 - iostreams

Revised: 03 March 2009
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. Project #2, Graph data type
    Project #3, Testbed
    Project #4, Remote Testbed with charting
  3. Executable Specifications
  4. iostreams presentation
    The presentation discusses the iostream hierarchy and the role of each of many of its classes.
  5. iostreams reference
    The reference presents class relationships and interface details.
  6. iostreams code examples
    Illustrates stream formatting, buffering, opening for reading and writing, and use of stringstreams.
  7. Stream Iterators
    A short example demonstrating input and output stream iterators.
  8. Veneers and BoltIns
  9. 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
  10. Software Design
    Design goals and principles.
  11. Design Flaws
  12. Common Problems
  13. Design Presentation
    Summarizes design issues for modules and classes.
  14. Design Rules
    Design rules and idioms that transcend Object Oriented Design.