1.)
Introduction: myths and reality about programming and programmers; Programming - art or industry?
2.)
C++ and the OO concept; why is C++ considered as an OOP?
This chapter is about data hiding, inheritance and polymorphism in C++
3.)
Variables and constants
Declaration to naming. Hungarian notation. Scope and lifetime. Global and local vars, the static keyword. Type casting and problems invoked by casting.
4.)
Pointers
A detailed description on pointers. The reference. A special pointer: "this".
5.)
Operations, operators
Arithmetical, relational, logical and bitwise operators.
Operator overloading.
Operator evaluation order.
6.)
Functions
Declaration and definition.
Program arguments. Pointers as arguments.
References as arguments.
Function'S return value.
Recursivity. How to avoid stack overflow.
Function overloading.
Template functions.
7.)
Classes, unions, structs
Differences and similarities.
Special typecasts : dynamic_cast, static_cast
Template classes
8.)
Inheritance
A detailed description of inheritance.
9.)
Source code styling. C++ programming guidelines.
The role of header and source files.
Indenting the code.
Comments.
Function description.
...
10.)
STL - the C++ standard template library
Introducing STL. A problem: inter-process communication and STL
11.)
Error handling and logging. Exception handling.
Bug hunt under MS Visual C++
Debugging, conditional breakpoints, the call-stack, the assembly-view
Remote debugging
Tracing and it's importance
The try-throw-catch mechanism
Be prepared - there's no bug - free software!
Error logging - a sample class
---------------------------------------------