Programming with C++
In this training course, you deepen your knowledge of C++ and get to know modern C++ according to the C++17 and C++20 standards. This enables you to write safer, faster and more maintainable code.
We show you the fastest way to achieve your goals with C++. With simple and demanding exercises, you extend your skills so that you can then create modern C++ programs independently.
Suitable for
- Software architects
- Software developers
Prior knowledge
- Basic knowledge of C++
Format and duration
- 3 days
- Online, conveniently from home
- In our training rooms in Freiburg
- At your premises - only possible from a minimum number of participants
Dates
- Currently on request
Participant materials
- Laptop
- Visual Studio 2026 or 2022 with the “Desktop development with C++” workload
- Useful but not essential: Visio (2019, 2021 or 2024) or another UML tool
- Writing materials
Training room
- Projector
- Whiteboard, blackboard or flipchart
Contents of the 3-Day Training: Advanced C++
Day 1
- Overview of day 1
- Object-oriented development
- Classes and methods
- Inheritance, multiple inheritance and overriding
- Association, aggregation and composition
- Abstract classes as interfaces
- Modern object-oriented development
- Constructors, destructors and initialisation
- Rule of zero, three and five
- const correctness
- Clean code for teamwork
- C++ Core Guidelines
- Coding conventions
- Independent exercises
- Outlook on day 2
Day 2
- Review (training day 1)
- Overview of day 2
- Memory and resources
- Pointers and references
- RAII: managing resources safely
- Smart pointers: unique_ptr, shared_ptr, weak_ptr
- Move semantics
- Practical exercises
- Standard library containers
- vector, list, deque
- map, set and unordered_map
- Iterators
- Algorithms and lambda expressions
- Practical exercises
- Outlook on day 3
Day 3
- Review (training day 2)
- Overview of day 3
- Templates
- Function and class templates
- Concepts (C++20)
- Error handling
- Exceptions and exception safety
- std::optional and std::variant
- Further language features
- Operator overloading
- Streams and files
- Utility classes of the standard library
- Outlook: concurrency with std::thread
- Independent exercises
- Conclusion
- Where can I find more information?
Related training courses
• AutoCAD ObjectARX training course with C++
• C# training course
