C++ Refresher
Who should attend:
Software developers who want to refresh their C++ knowledge.
Pre-requisites:
Basic C++ knowledge.
Duration:
2 - 3 days depending on the selected modules.
Course Description:
This course allows C++ programmers to check their existing C++ knowledge for correctness and completeness, to recover lost C++ know-how and to acquire possibly missing knowledge.This leads to a solid understanding of the programming language C++ which, due to the memory and runtime considerations, allows especially embedded software devlopers to create powerful and reliable applications. The course is designed in a modular way and thus can be customised according to the requirements. The contents of the course are based on C++98 which currently is the most widespread language standard in use. The features of the newer language standards C++11, C++14 and C++17 are covered in the course "Modern C++" which requires the knowledge imparted in this course as a pre-requisite.
Course Outline:
Non-Object-Oriented Language Features
- Enumerations
- Data type bool
- References
- Function Overloading
- Default Parameters
- Namespaces
- Dynamic Memory Management
- Operator Overloading
- Input/Output (cin/cout)
Classes and Objects
- Data Elements, Attributes
- Element Functions, Methods
- Inlining
- Static/Non-static Elements
- this-Pointer
- Access Rights public and private
- Constructors and Destructors
- Constant Methods
Operators as Elements of a Class
- Assignment Operator
- Subscript Operator
- Type Convertion Operator
Inheritance
- Base Classes and Derived Classes
- Modelling of the Base Class Functionality
- Impact on the Construction and Destruction
- Access Right protected
- Private Inheritance
Virtual Functions and Polymorphism
- Static and Dynamic Binding
- Virtual Function Table
- Abstract Functions and Abstract Classes
- Interfaces
Templates
- Template Functions
- Template Parameters
- Specialisation
- Class Templates
- Templates and Inheritance
- Explicit Template Instantiation
- Static Polymorphism
Exception Handling
- Exception Handling with try and catch
- Stack Unwinding
- Evaluating the Exception Information
- Exception Families
- Handling of Multiple Exceptions with a Single Handler
- Exception Spezifications
- Standard Exceptions