Title: Class User Programming with the C++ Standard Library for Experienced
C++ Programmers
The most important aspect of this course is the focus on the standard library
and specifically the standard containers (formerly referred to as STL or
Standard Template Library). In these chapters students will receive an in depth
understanding of the subtleties of the standard library. A subsequent
chapter discusses how this knowledge can be applied to object-oriented analyses
and designs.
Who should attend?
Experienced programmers who need to understand the standard library. This
course assumes a basic knowledge of C++, specifically constructors, destructors
and overloaded assignment operators.
Duration: 2 Days
Two versions
There are two versions of this course. Inexperienced programmers should
consider C++ Class User Programming for
Beginning Programmers.
Prerequisites
See Advanced C++ Modules.
Topics
 | Class User Programming and the Standard Library
 | Types and user-defined types |
 | Class user programming with templates |
 | The standard library
 | Name spaces |
 | Class user programming with templates |
 | Basic containers & iterators |
 | Stacks, strings, vectors, maps & sets |
 | Special iterators for I/O |
|
 | Examples of reusing software components
 | Calculator — stack type |
 | Text justification — string type |
 | Employee Security & Spell Checking — set type |
 | Count unique words — map type |
 | Sorting a list of words — map type |
|
|
 | Pointers, Iterators and Algorithms
 | Auto Pointers |
 | Iterators
 | Categories |
 | Function arguments |
|
 | Inserters |
 | Removing Elements |
 | Transformations
 | Saving state with function objects |
 | Predefined function arguments |
|
 | Predicates
 | Unary |
 | Binary |
|
 | Custom iterators |
|
 | Standard Containers
 | Common operations |
 | Storing bits (boolean values) |
 | Deques and vectors |
 | Lists |
 | Sets and multi-sets |
 | Maps and multi-maps |
 | Other containers
 | Hashing containers |
 | Singly linked lists |
 | Valarrays |
|
 | Container adapters
 | Queues |
 | Stacks |
 | Priority queues |
|
|
 | C++ Support for OOAD (Object-Oriented Analysis and Design)
 | Multiplicity |
 | Aggregation and class synthesis |
 | Inheritance, mix-ins and class synthesis |
 | Collaboration |
 | Delegation |
|