C++ Level 1 – An Odyssey of C++: Core Language
Interested? Contact us!
3 days
3 days
SEK 19.900
Request more information
Magnus Kindberg (SE, NO)
Phone: +46 (0)40 59 22 22
magnus.kindberg@nohau.se
Heidi Lehtomäki – Finland
phone: +358 40 196 0142
heidi.lehtomaki@nohau.fi
Klaus Ahrensbach – Denmark
Phone: +45 3116 1019
ka@nohau.dk
Overview:
A three days C++ training with the following objectives:
Goal/Benefits:
The major objective of this class is that you shall be able to use C++ in a “correct way”.
- Introduce “Modern C++” – what we also know as C++11, C++14, C++17, C++20, and the just to be released C++23 – as an object-oriented language
- Comprehend the concepts and basic terms in object orientation, and to use UML – Unified Modeling Language – to describe an OO-model
- Design and implement robust C++ classes
- Understand the importance of sound memory management
- Transform an OO-model into C++
- Understand the concept parametrized types – aka templates
- A set of exercises practicing the concepts
- Applying a unit testing as a natural way of testing/evaluating/running most of the exercises
Audience/Participants:
This training is aimed for beginners.
Previous Knowledge:
Some programming experience
Practical Exercises:
During the training you will practice the presented concepts in a few exercises. We will use the open and free integrated development environment from Eclipse. Alternatively, a build system based on CMake is available
Outline:
1. The Basics
- Programs
- Hello, World!
- Functions
- Types, Variables, and Arithmetic
- Fundamental Types
- Initialization
- Scope
- Constants
- Arrays, Pointers, and References
- Basic Input/Output
- Unit Testing
2. User-Defined Types – An Introduction
- Enumerations
- Structures
- Classes
- Unions
3. Modularity
- Separate Compilation
- C++20 Modules
- Namespaces
- Error Handling
- Exceptions
- assert
4. Object-Orientation
- The Goals with Object-oriented Programming
- OO Programming Concepts
- C++ Language Mapping
5. Classes
- Concrete Types
- Abstract Types
- Virtual Functions
- Class Hierarchies
- Copy Control
- Move Control
6. Templates
- Function Templates
- Class Templates
- Inheritance vs. Templates