| Advanced C++ Programming
5 Days course Language: English This course is only available on request!! |
![]() |
|
DESCRIPTION |
WHAT YOU WILL LEARN |
|
WHO SHOULD ATTEND: |
ASSUMED KNOWLEDGE |
OUTLINES
CHAPTER 1: WHAT YOU SHOULD ALREADY KNOW - A REVIEWCHAPTER 2: PARAMETERIZED TYPES - TEMPLATES
1) Templates
2) Overloading functions
3) Template functions
4) Specializing a template function
5) Disambiguation under specialization
6) Template classes
7) An array template class
8) Instantiating a template class object
9) Rules for templates
10) Non member function w/ a template argument
11) Friends of template classes
12) Templates with multiple type parameters
13) Comments regarding templates
CHAPTER 3: RELATIONSHIPS OF ALL KINDS
1) Uses of Member Initialization Lists
2) Initialization lists under composition
3) Initialization lists under inheritance
4) Initialization lists w/ Multiple Inheritance (MI)
5) Initialization with MI and composition
6) Efficiency
7) operator= and composition
8) Constructors and composition
9) What is not inherited?
10) operator=, construction, and inheritance
11) Designing for inheritance
12) Public inheritance
CHAPTER 4: MULTIPLE INHERITANCE
1) Multiple inheritance
2) Ambiguities
3) Removing ambiguities
4) virtual base classes
5) virtual base classes and the dominance rule
6) Member initialization lists with MI
7) operator= and MI
8) Designing for inheritance
CHAPTER 5: DATA STRUCTURES
1) Introduction
2) A simple List
3) Implementation of the list functions
4) Layering type safe classes upon List
5) A template List class
6) Iterators
7) A template iterator
8) Stack and Queue classes
9) A derived template array class
CHAPTER 6: FUNCTION POINTERS
1) Why have function pointers?
2) Passing functions as arguments
3) Registering functions
4) Callback functions
5) A class with a callback object
6) Registration of exceptions handlers
CHAPTER 7: EXCEPTIONS
1) What are exceptions?
2) Traditional approaches to error handling
3) try, catch, and throw
4) A simple exception handler
5) Multiple catch blocks
6) The exception specification list
7) Rethrowing an exception
8) Cleanup
9) Exception matching
10) Inheritance and exceptions
11) Resource allocation
12) Constructors and exceptions
13) Destructors and exceptions
14) Catch by reference
15) Standard exceptions
CHAPTER 8: THE C++ STANDARD TEMPLATE LIBRARY
1) History and evolution
2) New features
3) The Standard Template Library
4) STL Components
5) Iterators
6) Example: vector
7) Example: list
8) Example: set
9) Example: map
10) Example: find
11) Example: merge
12) Example: accumulate
13) Function objects
14) Adaptors
CHAPTER 9: DISAMBIGUATION
1) Conversion
2) int Conversions
3) float
4) Arithmetic and pointer conversions
5) Inheritance based conversion
6) Overloaded functions
7) Exact match
8) Match with promotion
9) Match with standard conversion
10) User defined conversion
11) Constructors as conversion operators
12) Ambiguities
CHAPTER 10: FILE I/O
1) Introduction
2) Error checking
3) Overloading << and >>
4) Formatted I/O
5) Disk files
6) Examples of seekg, tellg, and close
7) Reading and writing objects to the disk
8) Internal transmission of data
9) A larger I/O example: Spell checker
10) Treating a file as an array
CHAPTER 11: MISCELLANEOUS TOPICS
1) New features in the standard C++ language
2) Namespaces
3) Use counts
4) Run Time Type Identification
5) New casts
6) Overloading operator new and delete
7) How virtual functions are implemented
8) Having a limited number of objects
9) Smart pointers