TDDD38 Advanced Programming in C++
Examples of theory questions are given to easy such studies. No answers are given!
Mixed exercises exercises relate to material covered by lecture 2-12 (After lecture 2: Basic language constructs, Statements, Functions; after lecture 4-5: Class, Overloading, Type Conversion; after lecture 6-7: Derivation; after lecture 7: Exceptions).
Aggregates and List initialization exercise with some parts suitable do after lecture 3, some after lecture 4-5
Smart pointer exercise suitable do after lecture 5
Geometric objects exercise suitable do after lecture 6-7
Policy-based Class Design for Smart Pointers exercise suitable do after lecture 9
The Curiosly Recurring Template Pattern (CRTP) exercise suitable do after lecture 9
Character Traits exercise suitable do after lecture 9
Container Design exercise suitable do after lecture 10
Fixed Size Container exercise suitable do after lecture 10
Ordered List Iterators exercise suitable do after lecture 11 (New November 20)
Standard Library exercises suitable do after lecture 10-12
See also previous exams.
Tracer - a class with a default constructor, copy constructor, copy assigment operator, and destructor, which prints trace messages, allowing for following object creation, copying, and destruction.
demangle() a function to do "name demangling", i.e translate (demangle) a name used internally by g++ (mangled name) for, e.g., a type name, back to the actual name. Demangle takes a std::type_info object as argument, calls std::type_info::name(), which will return the mangeled name, and give this mangled name to the implementation supplied function __cxa_demangle(), which does the demangling.
Page responsible: Tommy Olsson
Last updated: 2013-11-20