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.
A detailed description on pointers. The reference. A special pointer: "this".
5.) Operations, operators
Arithmetical, relational, logical and bitwise operators.
Operator evaluation order.
Declaration and definition.
Program arguments. Pointers as arguments.
References as arguments.
Function'S return value.
Recursivity. How to avoid stack overflow.
7.) Classes, unions, structs
Differences and similarities.
Special typecasts : dynamic_cast, static_cast
A detailed description of inheritance.
9.) Source code styling. C++ programming guidelines.
The role of header and source files.
Indenting the code.
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
Tracing and it's importance
The try-throw-catch mechanism
Be prepared - there's no bug - free software!
Error logging - a sample class