C++ Programming Advanced
Course length: 5 days
Prerequisites: C++ Programming Introduction or equivalent knowledge is recommended.
Topics
- Review of C++ basics
- About Namespaces, with specifics on std and anonymous
- How to create a class: The Life of an Object, Constructors, destructors, How to add a non-member function, Constraints on builtin arrays
- Overloaded operators: How to chain (a.k.a. cascade) operator+, How to add assignment, Why is operator+ a non-member function?, How to add input from the keyboard, output to the screen, comparisons and arithmetic, How to add subscripting
- How to add a data member
- All about Inheritance: Static type versus dynamic type, Non-virtual, virtual, and pure virtual functions, Substitutability, Inheritance and constructor: base class and derived class, Inheritance and copy constructor: base class and derived class, Inheritance and destructor: base class and derived class, Inheritance and assignment: base class and derived class, Inheritance and input from the keyboard: base class and derived class, Inheritance and output to the screen: base class and derived class, Inheritance and subscripting: base class and derived class
- Exception handling and Error Handling: assert, try, catch, throw, How to throw a value of builtin type and of class type, Impact on local variables of class type and heap variables, Automatic deleters, Standard exception classes
- How to inline member and non-member functions
- How to open files for writing and reading
- How to overload new and delete for a class
- About Templates, with specifics on Function template and Class template
- How to generalize a function: Accessing builtin array elements, Replacing builtin pointers with iterators
- Functors: How to create an object that behaves like a function
- What is STL? Kinds of containers, with specifics on vector, list, deque, set, map, how to make your own algorithm
- Smart pointers: smart pointer, scoped pointer, auto pointer
- Multiple inheritance and how to resolve ambiguity
- About Cast operators, Details on: static_cast, reinterpret_cast, const_cast, dynamic_cast
- RTTI: How to determine the type of an object at runtime
- Pointers to member functions and non-member functions
Return to Courses