This subject gives students an overview of some of the less obvious, but more powerful, idioms (programming techniques) that the C++ programming language supports. It is very practically oriented, with three assignments constituting the entire assessment, and assumes competence with basic C++, including multiple inheritance and templates. Topics: wrapper classes, factory classes, generic arrays and maps, envelope/letter classes, double dispatch, reference counting, dynamic scope, proxies, template constraints, template specialisation, persistence, functors, closures, continuations, receptors, deriving new stream types, generators, functional and declarative programming.
Back to the 1999 Distance Education Handbook